貪心演算法#
貪心演算法(Greedy Algorithm)是一種在每一步選擇中都採取當前看來最優選擇的演算法策略。
本章內容#
- 貪心演算法原理:核心概念、適用條件與局限性
- 貪心演算法應用:股票買賣等經典問題
核心思維#
貪心演算法的本質是追求局部最優解(Local Optimal),並期望透過累積局部最優,最終達到全域最優解(Global Optimal)。
關鍵特性#
| 特性 | 說明 |
|---|---|
| 決策不可回退 | 一旦做出選擇就不會改變 |
| 無需儲存中間狀態 | 只保留當前最優解 |
| 計算速度快 | 通常為 O(n) 或 O(n log n) |
| 適用範圍有限 | 需要問題具備最佳子結構 |
貪心 vs 動態規劃#
- 貪心:每步選最優,不回頭,可能陷入局部最優
- 動態規劃:記錄多種可能,最後選全域最優
當貪心法失效時,通常需要改用動態規劃。