Python中递归是什么
admin
2023-07-20 20:42:00
0
概念:
    函数直接或者间接调用自身就是 递归
    递归需要有边界条件。递归前进段。递归返回段
    递归一定要有边界条件(否则会出现无限递归前进)
    当边界条件不满足的时候,递归前进
    当边界条件满足的时候,递归返回
递归要求:
    递归一定要有退出条件,递归调用一定要执行到这个退出条件。没有退出条件的递归调用,就是无限调用
    递归调用的深度不宜过深
            Python对递归调用的深度做了限制,以保护解析器
            超过递归深度限制,抛出RecursionError:maxinum recursion depth exceeded超出最大深度、
            sys.getrecursionlimit()查看最大深度

边界值:不是终止递归的返回值,而是作为递归运算最后一次运算的时调用的值。
          当触发边界时,也就意味调用边界值进入递归运算中,计算出结果弹出,
          从而中断递归。
                        1.循环稍微复杂一些,但是只要不是死循环,可以多次迭代直至算出结果
2.fib函数代码极简易懂,但是只能获取到最外层的函数调用,内部递归结果都是中间结果.而且给定一个n都要进行近2n次递归,深度越深,效率越低。为了获取斐波那契数列需要外面在套一个n次的循环,效率就更低了
3.递归还有深度限制,如果递归复杂,函数反复压栈,栈内存很快就溢出了

1.间接递归,是通过别的函数调用了函数自身
2.但是,如果构成了循环递归调用时非常危险的,但是往往这种情况在代码的情况下,还是可能发生这种调用。要用代码规范来避免这种递归调用的发生

相关内容

热门资讯

假期打虎!朱昌杰被查 中央纪委国家监委网站讯 新疆维吾尔自治区政府原党组成员、副主席朱昌杰涉嫌严重违纪违法,目前正接受中央...
王树国:福耀科技大学数学用的是... 2025年高考招生季,福耀科技大学面向福建、河南、江西、湖南、广西五省(自治区)共招收50名优秀本科...
美伊会谈生变,卡在哪里? 陈立希原定19日在瑞士举行的美国和伊朗新一轮谈判宣告推迟。据美国媒体19日报道,造成这一局面的原因是...
立陶宛总统向外长发“最后通牒”... 据俄新社当地时间6月19日报道,立陶宛总统吉塔纳斯·瑙塞达在接受立陶宛国家广播电视台(LRT)采访时...
特朗普:让穆杰塔巴受伤,我很遗... 美伊日前签署了一份谅解备忘录,为战争结束和后续谈判奠定了基础。美国总统特朗普6月19日在接受美媒Ax...
男子点12.8元外卖,备注“多... 近日,江苏无锡。有位网友发帖称,“我本意只是想让商家多给点饭,我只是想吃饱,可盖子上……他想让我活下...
2016燃气灶维修价格表 2016年,随着中国经济的快速发展和居民生活水平的提高,燃气灶成为了家庭必备的一个厨房电器,得到了人...
玉环燃气灶维修方法 玉环燃气灶是厨房中常见的一种灶具,由于长时间使用以及不可避免的误操作,玉环燃气灶可能会出现一些故障,...
海尔电视机维修价格表 作为智能家居的重要组成部分,电视机已经成为了家庭娱乐的主要选择。然而,电视机也是一种复杂的电子设备,...
手机收电视机方法 手机收电视机的方法有以下几种: 1. 通过HDMI连接线 使用HDMI连接线将手机和电视机相连接...