Prim’s Algorithm

Sharon Peng
Sep 30, 2020

--

另一種找到最小生成樹(Minimum Spanning Tree)的方法。

*個人認為跟Kruskal’s Algorithm最不一樣的地方是,Prim’s 需要先有一個起始點,而Kruskal’s 是直接找最小邊(Edge)。

Prim’s Algorithm的步驟:

1. 隨機取一個點(Vertex)作為初始開始的起點。

2. 之後找尋此起點周圍最小的「邊(Edge)」,且取的邊不能形成Cycle(loop)。

3. 繼續延續連接後的點。

4. 重複步驟2,直到最後已經找不到邊可以取。

為了更詳細的說明,這邊也放了許多圖片,請大家耐心觀看。

下面圖片有很多圈圈,這邊做個簡單的說明。

綠色圈圈:可能的邊

黃色圈圈:最小的邊

紅色圈圈:新延伸到的點(Vertex)

圖例:

這邊的概念也是蠻容易了解的,之後有時間再把程式碼放上來。

希望有上述的解釋,大家也可以更快的理解Prim’s Algorithm的運作原理。我們下次再見~~

--

--

Sharon Peng
Sharon Peng

No responses yet