遞迴和反向跟蹤在 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 需要四次遞迴呼叫以及最初的父呼叫。 

更新於:19-2 月-2020

718 次閱讀

提升你的職業

完成課程取得認證資格

開始
廣告