Python筆記:函數的遞歸
阿新 • • 發佈:2018-09-03
代碼 com 垃圾回收機制 遞歸函數 size 兩個 logs htm rdquo 缺點:
遞歸函數 recursion
遞歸是指函數直接或間接的調用自身
遞歸實例:
#函數直接調用自身 def f(): f()直接調用自身 f() print(“遞歸完成”) #函數間接調用自身 def fa(): fb() def fb(): fa() fa() print(“遞歸完成”)
遞歸說明:
遞歸一定要控制遞歸的層數,當符合某一條件時要終止遞歸調用
幾乎所有的遞歸都可以用while循環代替
遞歸的優缺點:
優點:
可以把代碼簡單化,讓思路更清晰,代碼更簡潔
遞歸因系統環境影響大,當遞歸深度太大時,可能會得到不可預知
的結果
遞歸調用分為兩個階段:
遞推階段:
從原問題出發,按遞歸公式遞推,從未知到已知,最終到達遞歸終止條件
回歸階段
按遞歸終止條件求出結果,逆向逐步代入遞歸公式,回歸到原問題求解
(每次局部變量都會開啟新的變量空間,結束時會銷毀局部變量)(Python的垃圾回收機制)
#限制遞歸層數的實例 recursion2 def fx(n): print("遞歸進入",n,‘層‘) if n==3: return fx(n+1) print("遞歸出", n, ‘層‘) fx(1) print("程序結束")
如果想要了解遞歸對一些實際問題的操作,歡迎看我下一篇文章https://www.cnblogs.com/xinin0909/p/9575666.html
Python筆記:函數的遞歸