作者:劉子韜
基於多分支遞歸的算法設計範式:將問題遞歸分解為同類子問題,直到足夠簡單直接求解,再合併子問題解得到原問題解。
例:T(n) = 4T(n/2) + n
核心:猜測答案形式 → 數學歸納證明
猜測:T(n) = Θ(n)
證明 Ω(n):T(n) > n 顯然成立
證明 O(n):假設 T(n) ≤ cn
T(n) ≤ c·n/2 + c·n/4 + c·n/8 + n = (7c/8 + 1)n 令 (7c/8 + 1)n ≤ cn → c ≥ 8 成立
∴ T(n) = Θ(n)

每層總代價遞減,頂層 n 主導 → 猜測 Θ(n)
核心:畫樹 → 按層求和 → 幾何級數求和

樹高 h = logbn
第 i 層:aⁱ 個節點,每節點代價 (n/bⁱ)ᵏ = nᵏ/bⁱᵏ
第 i 層總代價:aⁱ · nᵏ/bⁱᵏ = nᵏ · (a/bᵏ)ⁱ
總代價:Σi=0h-1 nᵏ(a/bᵏ)ⁱ + 葉子代價

T(n) = T(n/3) + T(2n/3) + O(n)
最長分支決定高度:n → (2/3)n → (2/3)²n → ... → 1
高度 k 滿足 (2/3)ᵏn = 1 → k = log3/2n

適用形式:T(n) = aT(n/b) + f(n),a ≥ 1, b > 1

分治算法遞歸式求解三板斧:數學歸納法靠猜測+嚴證,遞歸樹法靠畫圖+求和,主定理靠套用+分情況。實戰中常結合使用:遞歸樹輔助猜測,歸納法嚴格證明,主定理快速驗證。掌握三法遞歸式分析不再是難題。