码迷,mamicode.com
首页 > 其他好文 > 详细

day4-递归调用

时间:2018-01-19 22:19:19      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:针对   com   png   day   blog   ack   大小   规模   一个   

---恢复内容开始---

return关键字可以满足针对一个正在运行的函数,突然不再运行了的功能。

技术分享图片

 

递归调用(递推)举例推断出年龄26岁: 回溯的阶段

技术分享图片

 

 总结递归的使用:

#python中的递归
python中的递归效率低,需要在进入下一次递归时保留当前的状态,在其他语言中可以有解决方法:尾递归优化,即在函数的最后一步(而非最后一行)调用自己,尾递归优化:http://egon09.blog.51cto.com/9161406/1842475
但是python又没有尾递归,且对递归层级做了限制

#总结递归的使用:
1. 必须有一个明确的结束条件

2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少

3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---恢复内容结束---

day4-递归调用

标签:针对   com   png   day   blog   ack   大小   规模   一个   

原文地址:https://www.cnblogs.com/python654/p/8318853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!