python中的函数递归

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

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

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

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

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

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

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

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

相关推荐
是店小二呀几秒前
【C++】C++ STL探索:Priority Queue与仿函数的深入解析
开发语言·c++·后端
洛寒瑜7 分钟前
【读书笔记-《30天自制操作系统》-23】Day24
开发语言·汇编·笔记·操作系统·应用程序
ephemerals__8 分钟前
【c++】动态内存管理
开发语言·c++
咩咩觉主11 分钟前
en造数据结构与算法C# 群组行为优化 和 头鸟控制
开发语言·c#
CVer儿18 分钟前
条件编译代码记录
开发语言·c++
凌不了云23 分钟前
windows环境下安装python第三方包
开发语言·python
大熊程序猿23 分钟前
python 读取excel数据存储到mysql
数据库·python·mysql
落落落sss25 分钟前
sharding-jdbc分库分表
android·java·开发语言·数据库·servlet·oracle
生椰拿铁You26 分钟前
Python
python
鸽芷咕29 分钟前
【Python报错已解决】python setup.py bdist_wheel did not run successfully.
开发语言·python·机器学习·bug