用于合并3D对象的递归函数

时间:2017-04-22 07:45:03

标签: vb.net recursion

我在listOri中有几个3D项目。对于这个例子:

listOri有A,B,C,D,E。

A overlaps with C.
B overlaps with D.
D overlaps with E.

我有一个接受listOri的递归函数,检查每个项目是否相互重叠,并生成一个最终listNew,其中包含ACBDE

迭代1: 循环遍历listOri中的每个项目,生成包含ACBDE

的listNew

迭代2: 在listNew中循环遍历ACBDE,生成(新)listNew包含,ACBD,{{1 }}

迭代3:等等。

以下是片段代码,用于检查列表中的每个3D对象是否重叠,并以递归方式生成新列表。

E

该功能适用​​于listOri,只有很少的项目。 但是,当listOri中有数千个3D项目时,这些函数需要很长时间才能生成listNew。

  1. 如何提高递归函数的速度?
  2. 还有另一种方法来编写执行上述相同任务的算法吗?
  3. 如果您需要任何信息,请与我们联系。

    谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了Code Review StackExchange的解决方案。

请参阅以下链接: Recursive function to merge 3D objects