【问题标题】:Is there any time complexity difference between recursive and iterative approach?递归和迭代方法之间是否存在时间复杂度差异?
【发布时间】:2011-11-01 10:42:52
【问题描述】:

我知道我们在递归算法和迭代算法之间确实存在空间复杂度差异。但是,我们之间是否也存在时间复杂度差异? 例如:如果我有一个递归计算列表中节点数的程序,然后我实现与迭代相同的程序,它的时间复杂度(即 O(n))会有什么不同吗?谢谢

【问题讨论】:

    标签: time-complexity


    【解决方案1】:

    简短的回答:不。

    除非您使用动态规划等优化算法,否则时间复杂度不会发生变化。空间复杂度也没有变化,不知道你从哪里想到的..

    但是,在许多编程语言中,使用递归存在固有的开销,因为它们还必须存储堆栈,这会使用更多内存。这可能会更慢,尤其是在它不是尾递归的情况下。

    【讨论】:

      猜你喜欢
      • 2020-08-16
      • 2023-03-04
      • 2023-03-24
      • 2019-06-05
      • 1970-01-01
      • 1970-01-01
      • 2017-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多