當前位置:成語大全網 - 書法字典 - 如何理解python遞歸函數

如何理解python遞歸函數

遞歸的思想主要是為了能夠重復壹些動作,比如簡單的階乘、冪、回溯中的八皇後、數獨以及漢諾塔和分形。

由於堆棧的機制,壹般遞歸可以將壹些變量保留在歷史狀態,比如妳提到的return x * power...但是有些可能很龐大或者太深的問題需要盡量避免,因為堆棧可能會溢出。還有壹個問題就是~ ~python不支持尾部遞歸優化!!!!所以~盡量避免遞歸。

定義功率(x,n)

如果n & lt0:

返回1

返回x *冪(x,n - 1)

電源(3,3)

3 *冪(3,2)

3 * (3 *冪(3,1))

3 * (3 * (3 *冪(3,0)))

3 * (3 * (3 * 1))其中n = 0,返回1。

3 * (3 * 3)

3 * 9

27

當函數參數n=0時,開始退~直到第壹次呼功結束。