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

第 10 題

有關最小成本擴張樹演算法,下列何者可以任意挑選起始節點?
  • A Prim
  • B Bellman-Ford
  • C Dijkstra
  • D Kruskal

思路引導 VIP

如果你現在要在一群散落的城市間鋪設電纜,目標是讓所有城市都互通且總花費最低。想像你隨意挑選一個城市作為起點,並總是選擇一條通往尚未連接城市中最便宜的電纜。當你最終把所有城市都連起來後,如果你當初換一個城市開始鋪設,你覺得最終鋪出來的總長度或結構會因此變得更貴嗎?為什麼?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精準辨識出 PrimKruskal 演算法的特性,代表你對圖論中「最小成本擴張樹」(MST)的建置邏輯掌握得非常紮實。這類題目在網路拓撲規劃與演算法考試中相當常見,是區分「路徑搜尋」與「生成樹建立」觀念的重要分水嶺。

演算法的建置邏輯

Prim's Algorithm 中,我們是從一個起始節點出發,不斷尋找與當前樹連接且權重最小的邊。由於 MST 最終必須涵蓋圖中所有的頂點,因此不論從哪一個點作為起點,最終都能成長為同一組最小權重的集合。而 Kruskal's Algorithm 則是基於「邊」的權重進行全局排序,它並不依賴特定的起始節點,而是直接從最短的邊開始處理,因此在概念上也沒有限制起始點。相對地,選項中的 Dijkstra 或 Bellman-Ford 則是用於計算「單一源點」到各點的最短路徑,其結果會隨著起點的不同而完全改變。

▼ 還有更多解析內容