day4-递归调用

Posted python654

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day4-递归调用相关的知识,希望对你有一定的参考价值。

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

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

技术分享图片

 

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

技术分享图片

 

 总结递归的使用:

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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




以上是关于day4-递归调用的主要内容,如果未能解决你的问题,请参考以下文章

day4 递归原理及解析

day4递归原理及实现

python小白-day4递归和算法基础

day4 递归二分法查找

day4之内置函数匿名函数,递归函数

main函数可否进行递归调用