软件算法递归法

软件算法递归法递归是设计和描述算法的一种有力的工具,它在复杂算法的描述中被经常采用,能采用递归描述的算法通常有这样的特征:为求解规模为 的问题,设法将它分解成规模较小的问题,然后从这些小问题的解方便地构造出大问题的解,并且这些规模较小的问题也能采用同样的分解和综合方法,分解成规模更小的问题,并从这些更小问题的解构造出规模较大问题的解

特别地,当规模 时,能直接得解

递归算法的执行过程分递推和回归两个阶段

在递推阶段,把较复杂的问题(规模为n)的求解推到比原问题简单一些的问题(规模小于n)的求解

编写递归函数时要注意,函数中的局部变量和参数知识局限于当前调用层,当递推进入“简单问题”层时,原来层次上的参数和局部变量便被隐蔽起来

在一系列“简单问题”层,它们各有自己的参数和局部变量

由于递归引起一系列的函数调用,并且可能会有一系列的重复计算,递归算法的执行效率相对较低

当某个递归算法能较方便地转换成递推算法时,通常按递推算法编写程序

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关