第13周 專案2 Kruskal演算法的驗證

2021-07-25 05:50:36 字數 556 閱讀 5273

#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...