python中的函数递归

函数递归,就是一个函数,自己调用自己。

如上图所示,是一段通过定义函数,编写函数体来实现for循环。实现的是从1到n的累乘。即求n的阶乘,

如上图所示,是一段函数的递归来实现1到n的累乘操作,将1****n拆分成一个个的子问题,如果条件是1时就返回1,如果条件不是1时,就return n * factor(n - 1)将n的值一步步衰减。

递归的代码,虽然很多时候看起来写法很简单,但是执行过程可能会非常复杂!!

在分析递归代码的时候,光用脑子想,是很困难!!

要么画图,要么使用调试器,来一步步的查看代码的运行情况。

如果递归函数的递推公式写错,那么就可能出现无限递归的情况,造成栈溢出(即这块内存空间用来储存变量的值是不够的,由此出现栈溢出的情况。)

递归的优点:代码非常简洁,尤其是处理一些"问题本身就是通过递归的方式定义的"

相关推荐
leaves falling5 小时前
c语言自定义类型深度解析:联合(Union)与枚举(Enum)
c语言·开发语言·算法
Knight_AL5 小时前
Flink 核心算子详解:map / flatMap / filter / process
大数据·python·flink
FJW0208145 小时前
Python推导式与生成器
开发语言·python
xb11325 小时前
C# WinForms界面设计
开发语言·c#
-Rane5 小时前
【C++】内存管理
开发语言·c++
深蓝电商API5 小时前
Scrapy杜绝重复请求:Rfpdupfilter源码分析与优化
爬虫·python·scrapy
DARLING Zero two♡5 小时前
【计算机网络】简学深悟启示录:序列化&&反序列化
开发语言·计算机网络·php
ID_180079054735 小时前
乐天(Letian)商品详情API接口的调用示例与代码实现
开发语言·python
南 阳5 小时前
Python从入门到精通day10
linux·windows·python
mftang5 小时前
Python 获取当前目录的多种方法
python