|
|
1
10
在性能方面,它当然不理想——您最终会为大型树创建很多迭代器,而不是一个知道如何高效遍历的迭代器。 关于这方面的一些博客条目:
值得注意的是,F与提议的
|
|
|
2
19
如果展开Recurse到Stack,可以提高性能,因此只有一个迭代器:
|
|
|
3
2
更好的解决方案可能是创建一个递归遍历树的访问方法,并使用该方法向上收集项目。 类似这样(假设是二叉树):
采用这种方法
|
|
|
4
1
不,看起来不错。 看看我的 blog entry ,它可能有一些用途:) |
|
|
5
-1
根据我以前的经验,使用yield比创建一个列表要有效得多。 如果您使用的是.NET 3.5,那么这个实现就可以了。但别忘了
最后。-) |