遞歸
1. 遞歸的定義
- 遞歸應(yīng)用在函數(shù)上就是函數(shù)體內(nèi)部有自己本身的調(diào)用,簡(jiǎn)單來(lái)說(shuō)就是自己調(diào)用自己
- Python3默認(rèn)遞歸深度最大為100,超過(guò)100會(huì)報(bào)遞歸深度超過(guò)的錯(cuò)誤搪哪,可以自己設(shè)置遞歸深度
- 效率不高羡玛,消耗棧資源
- 必須有返回條件
格式(求 n 的階乘)
def recursion(n):
if n == 1:
return 1
else:
return n * recursion(n - 1)
print(recursion(3))
2. 遞歸與普通循環(huán)的比較
- 遞歸所需的時(shí)間比普通循環(huán)多很多操骡,由于遞歸深度原因,暫時(shí)演示不了
3. 遞歸的使用場(chǎng)景
- 遞歸主要應(yīng)用在一些科學(xué)計(jì)算上冈闭,比如漢諾塔
4. 設(shè)置遞歸深度
sys.setrecursionlimit(3000)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者