色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

關于python遞歸函數怎樣理解?

洪振霞2年前14瀏覽0評論

遞歸的思想主要是能夠重復某些動作,比如簡單的階乘,次方,回溯中的八皇后,數獨,還有漢諾塔,分形。

由于堆棧的機制,一般的遞歸可以保留某些變量在歷史狀態中,比如你提到的returnx*power...,但是某些或許龐大的問題或者是深度過大的問題就需要盡量避免遞歸,因為可能會棧溢出。還有一個

問題是~python不支持尾遞歸優化!!!!所以~還是盡量避免遞歸的出現。

defpower(x,n)

ifn<0:

return1

returnx*power(x,n-1)

power(3,3)

3*power(3,2)

3*(3*power(3,1))

3*(3*(3*power(3,0)))

3*(3*(3*1))這里n=0,return1

3*(3*3)

3*9

27

當函數形參n=0的時候,開始回退~直到第一次調用power結束。