【问题标题】:Pros/Cons of In Order Binary Tree Traversal Using Recursion vs Using a Stack使用递归与使用堆栈的有序二叉树遍历的优缺点
【发布时间】:2014-02-03 09:20:53
【问题描述】:

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

  • 哪个性能更好?

  • 哪种方法更广泛地用于生产代码?

【问题讨论】:

    标签: c++ c recursion stack


    【解决方案1】:

    我一直使用递归函数来遍历树。我发现它的优点是更整洁、更快捷。

    Which one will perform better?
    

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

    Which approach is more widely used in production code?
    

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

    【讨论】:

      【解决方案2】:

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

      非递归方法写起来很费时间,但最终非常有效。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-23
        • 2019-08-23
        • 1970-01-01
        • 1970-01-01
        • 2012-02-17
        相关资源
        最近更新 更多