递归转为非递归 程序的递归算法与非递归有什么区别?
浏览量:1511
时间:2021-03-12 20:37:00
作者:admin
程序的递归算法与非递归有什么区别?
递归算法是一种直接或间接调用自身的算法。在计算机程序设计中,递归算法对于解决一大类问题是非常有效的。它往往使算法的描述简洁易懂。递归是在过程或函数中调用自身。在使用递归策略时,必须有一个显式的递归结束条件,称为递归退出。递归算法通常非常简单,但效率较低。因此,不建议使用递归算法来设计程序。在递归调用过程中,系统打开一个栈来存储每一层的返回点和局部数量。太多的递归很容易导致堆栈溢出。
什么叫非递归?
非递归是将参数连续地放入堆栈和从堆栈中取出,这节省了逐层扩展和调用函数的成本。
虽然参数访问栈的次数比较多,但一般打开一个足够大的固定内存进行一次性开发、重用。
递归转为非递归 递归和迭代有什么区别 递归和非递归哪个效率高
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。