缠丝猫 发表于 2024-6-11 12:53:39

python中的函数递归

函数递归,就是一个函数,自己调用自己。
https://img-blog.csdnimg.cn/direct/26c9ee3d5b2642b4be215449ca3513ea.png
如上图所示,是一段通过定义函数,编写函数体来实现for循环。实现的是从1到n的累乘。即求n的阶乘,
https://img-blog.csdnimg.cn/direct/a24f84247fc040cabe58353bdd8d7b62.png
如上图所示,是一段函数的递归来实现1到n的累乘操作,将1****n拆分成一个个的子问题,如果条件是1时就返回1,如果条件不是1时,就return n * factor(n - 1)将n的值一步步衰减。
https://img-blog.csdnimg.cn/direct/9a6fc3bd895a4e7e8bb440470f751768.png
https://img-blog.csdnimg.cn/direct/64f75d1de7a64cf58dd5b8c07f5a8dd9.png
递归的代码,固然很多时候看起来写法很简朴,但是执行过程可能会非常复杂!!
在分析递归代码的时候,光用脑筋想,是很困难!!
要么绘图,要么利用调试器,来一步步的检察代码的运行情况。
https://img-blog.csdnimg.cn/direct/06e360b3eeba4120b1936081bdd4fcfa.png
如果递归函数的递推公式写错,那么就可能出现无穷递归的情况,造成栈溢出(即这块内存空间用来储存变量的值是不敷的,由此出现栈溢出的情况。)

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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: python中的函数递归