遞迴與分治#
遞迴(Recursion)與分治(Divide and Conquer)是演算法中的兩大核心基石,也是許多高階演算法(如 DFS、動態規劃)的實作基礎。
本章內容#
- 遞迴:函式自己呼叫自己的程式設計技巧,透過將問題分解為相同結構的子問題來求解
- 分治演算法:將大問題拆分為互不相關的子問題,分別解決後合併結果
核心思維#
遞迴的本質是一種特殊的迴圈,透過函式呼叫的堆疊來實現重複執行。分治則是遞迴的高階應用,強調「分、治、合」三個步驟。
適用場景#
| 技術 | 適用情境 | 典型應用 |
|---|---|---|
| 遞迴 | 問題可分解為相同結構的子問題 | 階乘、費氏數列、樹走訪 |
| 分治 | 子問題互不相關、可平行處理 | 合併排序、快速排序、Pow(x,n) |