是否所有可通过循环解决的递归问题都可解决?

时间:2012-08-27 13:25:27

标签: algorithm loops language-agnostic recursion

所有可通过递归解决的问题都可以通过循环解决,反之亦然。

这种说法是正确的还是经过证实的? 有时,使用递归会导致堆栈溢出。 如果陈述是正确的。我们最好改用循环。

感谢

2 个答案:

答案 0 :(得分:13)

是。 Loop + Stack将解决所有递归问题。

毕竟,编译器在内部完成。递归只不过是将数据推送到堆栈上,然后由编译器从中弹出。

答案 1 :(得分:2)

通常,相应的迭代(循环)解决方案需要同样多的存储空间,但需要明确管理它。