5.2.6 递归函数

更新于 2026年10月10日 版权声明
5.2.6 递归函数

递归函数(Recursive Function),利用函数自己调用自己的过程,解决一类需要重复处理问题的一种代码算法。理论上所有的循环操作都可以通过递归函数来实现。

1.求1到5累加和的递归

求1到5累加和,通过递归函数来实现,其代码如下:

代码文件:5_2_6_Recursion.py

图示

上述代码执行结果如下:

图示

2.递归原理说明(https://www.daowen.com)

以上例求1到5的累加和为例,其在内存里一步步开辟临时存储过程,记录每次递归调用过程;最后满足递归返回条件x==1时,通过return往回返回值,其过程如图5.3所示。

图示

图5.3 1到5递归累加过程

从图5.3可以看出,递归算法分两个步骤实现。

第一步骤,递归调用自己,并在内存依次开辟每个调用的临时存储空间,用于记录每次递归调用的过程状态;图5.3体现为左边从上到下,一步步开辟存储空间。

第二步骤,递归返回值,图5.3体现为右边从下往上的一个个气泡里的数值。如最右下角的1返回到第四次递归调用的Add1(1)处,则得到2+1=3后继续往上返回。

注意

递归过程,需要在内存临时开辟内存空间,用于记录过程状态,当递归次数变大时,很容易消耗大量的内存空间,引起内存空间不足等问题,所以递归次数需要合理控制。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)