初考-統計資料處理大意114 年第 16 題單選題
適當使用演算法可以協助問題解決,迷宮問題、合併排序,分別適合使用什麼演算法技巧來解題?
ABacktracking; Divide and Conquer正確答案
BDivide and conquer; Dynamic Programming
CGreedy; Dynamic Programming
DBacktracking; Greedy
A正確答案
迷宮問題用回溯法 (Backtracking),合併排序用分治法 (Divide and Conquer)。
為什麼答案是 A
迷宮問題需要嘗試每條路徑,走不通就回退到上一個分岔點重試,正是 Backtracking 精髓;合併排序則是把陣列切半、分別排序再合併,典型 Divide and Conquer。
載入中…
完整詳解
Pro · 無限重點 迷宮問題用回溯法 (Backtracking),合併排序用分治法 (Divide and Conquer)。
看到「迷宮/走不通退回」→ Backtracking;看到「Merge Sort/Quick Sort」→ Divide and Conquer。
逐選項分析
A✓ 正確
迷宮問題需要嘗試每條路徑,走不通就回退到上一個分岔點重試,正是 Backtracking 精髓;合併排序則是把陣列切半、分別排序再合併,典型 Divide and Conquer。
B✕ 陷阱
迷宮問題不是 Divide and Conquer,無法把迷宮切成獨立子迷宮解決;動態規劃則用於有重疊子問題者(如費氏、背包),不適合合併排序。
C✕
Greedy(貪婪法)每步選當下最佳,但迷宮問題需要回退重試,貪婪不行;合併排序也非 DP,此組合完全不對。
D✕ 陷阱
迷宮用 Backtracking 正確,但合併排序不是 Greedy;Greedy 典型應用是最短路徑 Dijkstra、Huffman 編碼,不是排序。
演算法技巧與代表應用
| 技巧 | 核心精神 | 代表應用 | 關鍵字 |
|---|
| Backtracking 回溯 | 試誤+退回 | 迷宮、八皇后、數獨 | 走不通就退回 |
| Divide and Conquer 分治 | 切半解+合併 | Merge Sort、Quick Sort、二分搜尋 | 切割再合併 |
| Dynamic Programming 動態規劃 | 子問題重疊+記憶化 | 費氏、背包、LCS | 填表 |
| Greedy 貪婪 | 每步選當下最佳 | Dijkstra、Huffman、活動選擇 | 區域最佳 |
B、D 選項利用「半對」設陷阱:一邊正確一邊錯誤,容易看到熟悉字眼就選。考生要兩個都核對,特別注意 Greedy 不是排序技巧,而合併排序絕對是分治的招牌案例。