所有的递归程序或算法都能转化为迭代程序或算法么

如题所述

第1个回答  2022-09-28

是的,通过PUSH压栈和PULL出栈就可以例子很多,而且在底层的话也就是通过压栈和出栈来实现递归算法的。

有些算法用递归要想转换成迭代还是比较复杂的,就比如典型的汉诺塔问题,尽管网上流传说已有人使用迭代解决了,但它的正确性是否得到了研究界人士的肯定这点尚未到得证实。目前普遍还是采用递归来实现它。

扩展资料:

跟迭代法相对应的是直接法(或者称为一次解法),即一次性的快速解决问题,例如通过开方解决方程x +3= 4。一般如果可能,直接解法总是优先考虑的。但当遇到复杂问题时,特别是在未知量很多,方程为非线性时,无法找到直接解法(例如五次以及更高次的代数方程没有解析解,参见阿贝耳定理),这时候或许可以通过迭代法寻求方程(组)的近似解。

参考资料来源:百度百科-迭代法