Prim's algorithm 是以增加節點的觀念做為出發點。
首先以某一節點當作出發點,在與其相連且尚未被選取的節點裡,選擇權重最小的邊, 將新的節點加入。如此重覆加入新節點,直到增加了n - 1條邊為止。(假設有 n 個節點)
- 起始。

- 假設從 a 開始,相鄰節點的邊有三條 (8, 12, 13),最小的邊為 8。

- 我們選擇加入權重為 8 的邊,將節點 c 加進來。
相鄰節點的邊有四條 (2, 12, 13, 21),最小的邊為 2。

- 我們選擇加入權重為 2 的邊,將節點 f 加進來。
相鄰節點的邊有四條 (7, 12, 13, 21),最小的邊為 7。

- 我們選擇加入權重為 7 的邊,將節點 b 加進來。
相鄰節點的邊有兩條 (13, 32),最小的邊為 13。

- 我們選擇加入權重為 13 的邊,將節點 d 加進來。
相鄰節點的邊有兩條 (9, 32),最小的邊為 9。

- 我們選擇加入權重為 9 的邊,將節點 g 加進來。
相鄰節點的邊有一條 (32),最小的邊為 32。

- 我們選擇加入權重為 32 的邊,將節點 e 加進來。

由於這個graph有7個節點,我們已經新增了6條邊,所以Prim's algorithm完成。
被選出來的邊為:8, 2, 7, 13, 9, 32。
本文详细介绍Prim's Algorithm的基本原理及操作步骤,从一个初始节点出发,通过不断选择权重最小的边来扩展节点,最终构建出一棵包含所有节点的最小生成树。





