克魯斯卡爾演算法舉例

2021-09-24 02:00:48 字數 658 閱讀 3918

花了很長的時間,把克魯斯卡爾演算法給研究明白到了「入門」的級別,通過舉例的方式來說明。

**中的圖內容取自上圖

#include#define max 100

int line[max];

int linenum;

struct edge;

struct graph

graph;

void init()}

int getend(int a)

return a;}

int main()

}getchar();

return 0;

}

結果顯示一下:

克魯斯卡爾演算法演算法在我所學的《資料結構》裡面主要面對的是無向網。

這裡之前我想:就這樣寫成單向網的話,會不會出現遺漏的情況?

後面經過電腦測試和草稿驗算,都是沒有錯誤的,我也不知道是為什麼,就是這麼神奇!哈哈。

這次所研究出的內容是從該**出來的,寫的很不錯:

克魯斯卡爾演算法

測試輸入包含若干測試用例。每個測試用例的第1行給出評估的道路條數 n 村莊數目m 100 隨後的 n 行對應村莊間道路的成本,每行給出一對正整數,分別是兩個村莊的編號,以及此兩村莊間道路的成本 也是正整數 為簡單起見,村莊從1到m編號。當n為0時,全部輸入結束,相應的結果不要輸出。對每個測試用例,在...

克魯斯卡爾演算法

設n v,是連通網 1 令最小生成樹的初始狀態為只有n個頂點而無邊的非連通圖t v,圖中每個頂點自成乙個連通分量 2 在e中選擇代價最小的邊,若該邊依附的頂點落在t中不同的連通分量上,則將此邊加入到t中,否則捨去此邊而選擇下一條代價最小的邊 3 反覆執行第2 步,直至t中所有頂點都在同一連通分量上為...

克魯斯卡爾演算法

via 克魯斯卡爾演算法 在連通網中求出最小生成樹 include include define maxedge 20 define maxvex 20 define infinity 65535 typedef struct mgraph typedef struct edge 對邊集陣列edge...