上QQ阅读APP看书,第一时间看更新
3.2.1 递归算法基础
在计算机编程应用中,递归算法对解决大多数问题是十分有效的,它能够使算法的描述变得简洁且易于理解。递归算法有如下3个特点。
(1)递归过程一般通过函数或子过程来实现。
(2)递归算法在函数或子过程的内部,直接或间接地调用自己的算法。
(3)递归算法实际上是把问题转换为规模缩小的同类问题的子问题,然后递归调用函数或过程来表示问题的解。
在使用递归算法时,读者应该注意如下4点。
(1)递归是在过程或函数中调用自身的过程。
(2)在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。
(3)递归算法通常显得很简洁,但是运行效率较低,所以一般不提倡用递归算法设计程序。
(4)在递归调用过程中,系统用栈来存储每一层的返回点和局部量。如果递归次数过多,则容易造成栈溢出,所以一般不提倡用递归算法设计程序。