使用递归的顺序二叉树遍历与使用堆栈的优缺点

Pros/Cons of In Order Binary Tree Traversal Using Recursion vs Using a Stack

本文关键字:堆栈 优缺点 顺序 递归 二叉树 遍历      更新时间:2023-10-16

如果这是一个微不足道的问题,我很抱歉。但是我想知道使用递归函数按顺序遍历二叉树与使用显式堆栈相比有什么优点/缺点。

  • 哪一个会表现得更好?

  • 哪种方法在生产代码中使用得更广泛?

递归方法更容易编写,但在运行时需要花费大量时间,因为每次调用它时都会分配新变量并且需要大量内存。

非递归方法需要时间来编写,但最终非常有效。

我没有在工业界工作过,所以我不知道哪种方法被广泛使用,但它应该是非递归方法。

我一直使用递归函数来遍历树。优点它更整洁,更快地做我找到。

Which one will perform better?

据我了解,递归总是更好的性能。(或者我被我的教授引导相信)

Which approach is more widely used in production code?

在我的经验中,所有优秀的程序员总是使用递归遍历。