python中的函数递归

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

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

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

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

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

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

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

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

相关推荐
研☆香18 分钟前
数组方法 splice讲解 拓展
开发语言·前端·javascript
梯度下降者29 分钟前
CukeTest 自动化测试工具2023年度回顾白皮书
自动化测试·python·cuketest·qtquick/qml·linuxatk
峥嵘life36 分钟前
Android16 系统 APEX 模块说明
android·大数据·开发语言
2601_9620715741 分钟前
数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键
java·开发语言·数据库
————A42 分钟前
Agent 文件处理中间件
开发语言·javascript·ecmascript
梦想的旅途242 分钟前
如何高效调用企业微信通讯录API管理组织架构
java·开发语言·企业微信
circuitsosk1 小时前
从零搭建行业知识平台:向量库+图数据库+传统关系库的多模检索统一层设计
数据库·python·oracle·向量数据库·rag·多模检索
whcyhhh1 小时前
头歌实践教学平台:大数据存储2023(十三3)
大数据·开发语言·python
AR-26710-1 小时前
机器学习复习Day8——异常检测
人工智能·python·机器学习·scikit-learn
千里码aicood1 小时前
Django 基于Django的电脑推荐与分析可视化系统设计与实现
python·django·电脑