【发布时间】:2014-02-03 09:20:53
【问题描述】:
如果这是一个微不足道的问题,我很抱歉。但我想知道使用递归函数按顺序遍历二叉树与使用显式堆栈相比有哪些优点/缺点。
哪个性能更好?
哪种方法更广泛地用于生产代码?
【问题讨论】:
如果这是一个微不足道的问题,我很抱歉。但我想知道使用递归函数按顺序遍历二叉树与使用显式堆栈相比有哪些优点/缺点。
哪个性能更好?
哪种方法更广泛地用于生产代码?
【问题讨论】:
我一直使用递归函数来遍历树。我发现它的优点是更整洁、更快捷。
Which one will perform better?
据我了解,递归在性能方面总是会更好。 (或者我被我的教授引导相信)
Which approach is more widely used in production code?
根据我的经验,所有优秀的程序员总是使用递归遍历。
【讨论】:
递归方法更容易编写,但在运行时需要大量时间,因为每次调用它都会分配新变量并且占用大量内存。
非递归方法写起来很费时间,但最终非常有效。
我没有在工业界工作过,所以我不知道哪种方法被广泛使用,但它应该是非递归方法。
【讨论】: