#include
#include
#include "graph.h"
#define maxsize 100
typedef struct
edge;
void insertsort(edge e,int n) //對e[0..n-1]按遞增有序進行直接插入排序,,
,,,};
arraytomat(a[0], 6, g);
printf("最小生成樹構成:\n");
kruskal(g);
return 0;
}執行結果:
知識點總結:
該演算法是按權值遞增次序選擇合適的邊來構造最小生成樹。注意不能使選取的邊構成迴路,直到選取了(頂點數-1)條邊為止。 判斷邊是否形成迴路,判斷兩個頂點所在的連通分量解決。設定輔助陣列vest【i】,代表編號為i的頂點所屬的連通子圖的編號。兩頂點集合編號不同時,加入兩頂點構成的邊的最小生成樹中一定不會形成迴路
第13周專案2 Kruskal演算法的驗證
檔名稱 kruskal演算法的驗證.cbp 作 者 滕健 完成日期 2016年11月21日 版 本 號 v1.0 問題描述 kruskal演算法的驗證。輸入描述 無 程式輸出 測試資料 標頭檔案 ifndef graph h included define graph h included incl...
第13周專案2 Kruskal演算法的驗證
問題及 檔名稱 專案2.cbp 作 者 陳迪 完成日期 2016年11月23日 版 本 號 v1.0 問題描述 kruskal演算法的驗證。輸入描述 無 程式輸出 測試資料 標頭檔案及功能函式詳見 圖演算法庫 main.cpp include graph.h define maxsize 100 t...
第13周專案2
檔名稱 完成日期 2014 年 5 月 20 日 版本號 v1.0 對任務及求解方法的描述部分 輸入描述 問題描述 程式輸出 圓的比較 問題分析 演算法設計 include include using namespace std class point point double get x doub...