遞迴和反向跟蹤在 Python 中是什麼?
遞迴
遞迴在分解和求解問題時十分有用。每個遞迴呼叫都會自動執行其他遞迴呼叫。一個遞迴函式的核心包括兩種情況:遞迴終止條件,即基本情況,以及函式自調的遞迴情況。一個通常使用遞迴求解的簡單問題是計算階乘。遞迴階乘演算法包括兩種情況:n = 0 時為基本情況,n>0 時為遞迴情況。
反向跟蹤
反向跟蹤是求解某些計算難題的一般演算法,它逐漸建立求解時的選擇方案,從而避免繼續處理會導致不可能求解的路徑。反向跟蹤允許我們在做錯選擇時進行撤銷。
階乘的一個典型實現如下 -
示例
def factorial(n): #test for a base case if n==0: return 1 # make a calculation and a recursive call f= n*factorial(n-1) print(f) return(f) factorial(4)
該程式碼打印出數字 1、2、4、24。計算階乘 4 需要四次遞迴呼叫以及最初的父呼叫。
廣告