python中的函数递归

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

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

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

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

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

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

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

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

相关推荐
啊哈一半醒17 小时前
Go 语言 Context 全方位详解:原理、实战与避坑
开发语言·后端·golang
铅笔侠_小龙虾17 小时前
rust 学习(9):结构体
开发语言·学习·rust
月光船幽幽17 小时前
门控函数SHS阈值与调制机制解析
人工智能·python·算法
测试199817 小时前
2026全新软件测试面试八股文(含答案+文档)
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
此生决int17 小时前
深入理解C++系列(11)——stack、queue和priority_queue
开发语言·c++
周杰伦fans17 小时前
数列极限的定义
java·开发语言
Zane199417 小时前
map 比推导式快"是真的吗?一文讲透 map、filter、reduce 与 lambda 的真实性能与设计取舍
后端·python
过期的秋刀鱼!17 小时前
带替换的采样
人工智能·python·算法·决策树·机器学习
Python私教17 小时前
AI Agent 可观测性不只是日志:一套可回放的多步执行链
人工智能·后端·python
Python私教18 小时前
模型越强越不需要 Skills?我把 AI 编程能力拆成 4 层
人工智能·后端·python