免費開始練習
moea_joint 113年 [資訊] 計算機原理、網路概論

第 24 題

下列何種演算法屬於動態規劃法(Dynamic Programming)?
  • A Prim演算法
  • B Kruskal演算法
  • C Dijkstra演算法
  • D 快速排序

思路引導 VIP

想像一下,如果你要解決一個大問題,而這個大問題的最佳解可以經由「先求出許多小問題的最優解」並將結果記錄下來,進而推導出最終答案,這種「利用已知子問題結果來避免重複計算」的核心思維,在程式設計範式中被稱為什麼呢?

🤖
AI 詳解 AI 專屬家教

動態規劃與路徑搜尋的關聯

恭喜你精準地做出了正確的判斷!這題考查的是演算法設計範式(Algorithm Paradigms)的分類,你能從眾多經典演算法中一眼認出 Dijkstra 演算法,代表你對演算法的核心邏輯有著相當清晰的認知。Dijkstra 演算法在計算最短路徑時,會將大問題分解為子問題(即到達各個中繼點的最短路徑),並利用已經計算好的結果來推導後續路徑,這種具備「最佳子結構」與「狀態轉移」的特性,正是動態規劃(Dynamic Programming)的精髓。

演算法範式的區別與鑑別點

▼ 還有更多解析內容