温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

递归

发布时间:2020-08-05 22:20:13 来源:网络 阅读:340 作者:柠檬白兰地 栏目:编程语言

递归内存流程(栈)
栈 后进先出 (堆 开辟内存空间时 去堆里取 ) (查看函数压栈执行流程 http://pythontutor.com/visualize.html#mode=edit)
函数执行需要压栈 函数所使用的变量也要压栈 函数执行完函数及其数据要弹出数据消亡(局部变量函数调用时创建,调用结束时消亡)
栈跟线程相关 , 不同线程的栈互不干扰

递归 (分为 递 、归 先递 后 归)
函数直接或间接调用自身就是递归
递归要有边界条件、递归前进段、递归返回段
递归一定要有边界条件
边界不满足时,递归前进 边界满足时,递归返回

总结

        递归相对运行效率低,每一次调用函数都要开辟栈帧
        递归有深度限制,Cpython限制1000
        绝大多数递归,都可以用循环实现

练习题:
递归
递归
递归

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI