递归和迭代方法之间是否存在时间复杂度差异?

时间:2011-11-01 02:26:08

标签: time-complexity

我知道在递归算法和迭代算法之间存在空间复杂度差异。但是,它们之间是否也存在时间复杂性差异? 例如:如果我有一个程序以递归方式计算列表中的节点数,然后我实现相同的程序作为迭代,我的时间复杂度是否有任何差异,即O(n)?谢谢

1 个答案:

答案 0 :(得分:1)

简答:不。

除非您使用动态编程等优化算法,否则时间复杂度不会发生变化。空间复杂性也没有变化,不知道你在哪里有这个想法..

然而,在许多编程语言中,使用递归存在固有的开销,因为它们也必须存储堆栈,这会占用更多的内存。这可能会更慢,特别是如果它不是尾递归。