python中的函数递归

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

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

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

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

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

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

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

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

相关推荐
澈207几秒前
C++核心:封装与static静态成员实战指南
开发语言·c++·算法
牛大兵7 分钟前
播放网络摄像头视频支持ONVIF/RTSP
网络·python·音视频
wuyoula17 分钟前
全新多平台电商代付商城源码
开发语言·c++·ui·小程序·php源码
玖疯子18 分钟前
IT疑难杂症诊疗室:系统性故障排查指南
开发语言·php
码云数智-大飞19 分钟前
OpCache 原理深挖:从字节码缓存到预加载(Preloading)的实战配置
java·开发语言
m0_4954964124 分钟前
SQL中如何获取前N个最大值并排除自己_利用窗口函数限制
jvm·数据库·python
m0_7406532224 分钟前
mysql如何提取日期中的年份_使用year函数从日期中截取
jvm·数据库·python
运气好好的34 分钟前
mysql数据库日志文件过大如何清理_定期备份与重置日志文件
jvm·数据库·python
ATMQuant40 分钟前
量化策略开发01:我让AI全权做交易决策 - 从提示词设计到决策执行
python·量化交易·vnpy·ai策略