【发布时间】:2020-12-12 01:00:24
【问题描述】:
可能的重复:
Is there a problem that has only a recursive solution?
Can every recursion be converted into iteration?
“Necessary” Uses of Recursion in Imperative Languages
是否存在只有递归解决方案的问题,即有递归解决方案但尚未找到迭代解决方案的问题,或者更好的是,已证明不存在(显然,这不是尾递归)?
【问题讨论】:
-
这取决于你所说的递归。每个递归函数都可以通过实现堆栈转换为非递归函数..
-
是的;这里有详细描述:stackoverflow.com/questions/1094679
-
@Marc Gravell:太棒了!
-
@Marc Gravell:太棒了,我们可以在查看 K&R 中的递归索引时发现同样的情况。 (索引引用了一堆页面和索引页面...)
-
我认为这更多的是“与递归相比,迭代是否存在非常糟糕的问题”而不是“是否存在绝对需要递归的问题”