【算法複習】求解遞歸式的方法

 求解遞歸式的方法

【代入法】函數

  • 代入法求解分爲兩步:
    • 猜想解的形式
    • 用數學概括法求出解的常數C,並證實正確性,關鍵步驟是用猜想的解代入到遞歸式中。
  • 作出好的猜想(沒有通常方法,只能憑經驗)
    • 與見過的解相似,則猜想之。
    • 先證較寬鬆的上、下界,減少猜想範圍。咱們能夠從下界Ω(n)開始,上界O(n^2),而後逐漸收斂至(nlog2n)
  • 細節修正
    • 有時猜想解是正確的,但數學概括法卻不能直接證實其細節,這是由於數學概括法不是強大到足以證實其細節。
    • 這時可從猜想解中減去一個低階項以使數學概括法得以知足
  • 避免陷阱
    • 與求和式的數學概括法相似,證實時漸近記號的使用易產生錯誤。
    • 如:證實O(n)時必須嚴格證實≤cn,不能講其換作cn+n
  • 變量變換
    • 有時改動變量能使未知遞歸式變爲熟悉的式子。例如:

【代入法例題】blog

 

【遞歸樹法】遞歸

  • 遞歸樹最適合用來生成好的猜測,而後可用代入法來驗證猜想是否正確
  • 須要關注:
    • 達到邊界條件所需的迭代次數
    • 迭代過程當中的和式。若在迭代過程當中已估計出解的形式,亦可用代入法

 

 【遞歸樹法例題】數學

 

【Master原理】ast

  •  Master定理也叫主定理。它提供了一種經過漸近符號表示遞推關係式的方法。應用Master定理能夠很簡便的求解遞歸方程。class

 

定理4.1(主定理) 令a≥1和b>1是常數,f(n)是一個函數,T(n)是定義在非負整數上的遞歸式:變量

              T(n) = aT(n/b) + f(n)原理

其中咱們將n/b解釋爲。那麼T(n)有以下漸近界:方法

  

主定理的三種狀況,通過分析,能夠發現都是把f(n)與比較。im

第一種狀況是更大,第二種狀況是 與f(n)相等,第三種狀況是f(n)更大。

 

【主定理例題】

 

相關文章
相關標籤/搜索