重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
递归内存流程(栈)
栈 后进先出 (堆 开辟内存空间时 去堆里取 ) (查看函数压栈执行流程 http://pythontutor.com/visualize.html#mode=edit)
函数执行需要压栈 函数所使用的变量也要压栈 函数执行完函数及其数据要弹出数据消亡(局部变量函数调用时创建,调用结束时消亡)
栈跟线程相关 , 不同线程的栈互不干扰
递归 (分为 递 、归 先递 后 归)
函数直接或间接调用自身就是递归
递归要有边界条件、递归前进段、递归返回段
递归一定要有边界条件
边界不满足时,递归前进 边界满足时,递归返回
总结
递归相对运行效率低,每一次调用函数都要开辟栈帧
递归有深度限制,Cpython限制1000
绝大多数递归,都可以用循环实现
练习题:
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。