策略決策:概覽
Published: Sun Feb 22 2026 | Modified: Sat Feb 07 2026 , 1 minutes reading.
策略決策:宏偉藍圖
選擇的分量
在之前的章節中,我們學習了如何組織數據(樹、哈希、圖)。現在,我們要問:「當路徑不清晰時,我們該如何解決問題?」
生活和軟體中充滿了最優化問題:
- 「回家的最短路徑是什麼?」
- 「如何在一個有限的背包裡裝入價值最高的物品?」
- 「這步棋該怎麼走才是最優的?」
要回答這些問題,我們需要 策略 (Strategy)。策略是在無限的可能性空間中探索,而又不至於迷失方向的高級方法。
策略的四大支柱
在本章中,我們將探索演算法思維的大師級模板:
| 策略 | 靈魂 / 隱喻 | 代表演算法 | 最佳應用場景 |
|---|---|---|---|
| 記憶 | 智慧的長者 從不重複解決同一個問題。透過記住過去來構建未來。 | 動態規劃 (DP) | 最優解 最大利潤、最小成本。 |
| 衝動 | 短視的獵人 只做眼下最好的選擇,且從不回頭。 | 貪心演算法 (Greedy) | 效率 快速、且「足夠好」的答案。 |
| 探索 | 勇敢的冒險家 嘗試每一條路,但在撞牆時有勇氣掉頭重來。 | 回溯演算法 (Backtracking) | 可能性 拼圖、數獨、N 皇后問題。 |
| 拆解 | 切割者 將巨大的怪獸拆解成微小的螞蟻,然後逐一處理。 | 分治演算法 (Divide & Conquer) | 並行化 排序、大規模數學運算。 |
策略的三大法則
- 重疊子問題: 如果通往終點的路需要經過同一座橋十次,請記住那座橋!(DP 的核心)。
- 局部 vs. 全局: 僅僅因為一個選擇現在看起來不錯,並不意味著她能帶來最好的結局。只有當「局部最優」等於「全局最優」時,貪心演算法才有效。
- 剪枝 (Pruning): 可能性空間是一棵樹。如果妳知道某個分支通向懸崖,請儘早將她砍掉。不要浪費時間探索不可能的情況。
小結
在本章中,我們將從「寫代碼的人」轉變為「邏輯的架構師」。我們將明白,工程師工具箱中最強大的工具不是特定的語言或庫,而是為正確的戰鬥選擇正確策略的能力。
讓我們從最強大(也最令人畏懼)的策略開始:動態規劃。
