python中的函数递归

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

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

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

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

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

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

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

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

相关推荐
cm6543201 分钟前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
2301_792308252 分钟前
C++与自动驾驶系统
开发语言·c++·算法
yzx9910132 分钟前
WorkBuddy 使用指南:解锁几大核心功能,提升工作效率
人工智能·python
蛐蛐蛐3 分钟前
在昇腾310P推理服务器上安装CANN和PyTorch
人工智能·pytorch·python·npu
hongtianzai5 分钟前
Laravel8.x核心特性全解析
java·c语言·开发语言·golang·php
qq_416018726 分钟前
游戏与图形界面(GUI)
jvm·数据库·python
轮到我狗叫了8 分钟前
ResNet-阅读
python·深度学习·机器学习
Sunshine for you8 分钟前
使用Python分析你的Spotify听歌数据
jvm·数据库·python
2401_874732538 分钟前
模板编译期排序算法
开发语言·c++·算法
2401_884563248 分钟前
用Python读取和处理NASA公开API数据
jvm·数据库·python