任何的递归调用都可以转换为迭代吗?

2021-02-18 21:39:38 +08:00
 James369
递归真是个神奇的计算思想,可能是计算机所特有的解决思路。
特别是在解决嵌套问题时有奇效,比如汉诺塔的移动问题(以前想半天都没想通,后来突然想通了),真是又简单又有趣。

不过递归有个隐患就是可能会导致栈溢出,而迭代却可以避免因栈的使用而导致溢出。
但是用迭代很难去思考问题,并且是否所有的递归都可以转换成迭代呢?
6003 次点击
所在节点    程序员
62 条回复
zxCoder
2021-02-20 14:59:18 +08:00
可以
canwushuang
2021-02-21 18:19:41 +08:00
反之不行,递归在很多编译器有层数限制。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/754051

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX