python中的函数递归

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

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

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

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

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

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

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

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

相关推荐
测绘第一深情5 小时前
在vscode中使用codex教程(个人安装经验)
数据结构·ide·vscode·python·算法·计算机视觉·编辑器
m0_470857645 小时前
php中的foreach循环?_?PHP中foreach循环的语法结构与遍历数组对象详解.txt
jvm·数据库·python
彳亍1015 小时前
HTML5中Canvas局部刷新区域重绘的算法优化
jvm·数据库·python
2301_779622415 小时前
为什么宝塔面板网站无法正常连接外部远程数据库_检查服务器安全组放行端口并开启IP授权
jvm·数据库·python
2401_833033625 小时前
Go语言怎么做密码加密_Go语言bcrypt密码哈希教程【总结】
jvm·数据库·python
X56615 小时前
mysql索引基数统计更新不及时_mysqlANALYZE分析表操作
jvm·数据库·python
艺杯羹5 小时前
Tkinter实战:为CSDN爬虫打造可视化界面,从GUI到多线程完整方案
爬虫·python·开源
2301_775639895 小时前
React 中的渲染(Rendering)机制详解
jvm·数据库·python
m0_740352425 小时前
测试库与生产库怎么应对同步中断断点续传_无损发布与更新方案
jvm·数据库·python
m0_495496415 小时前
SQL批量更新状态机字段_使用CASE表达式一次性处理
jvm·数据库·python