第十三周 專案1(2) kruskal演算法的驗證

2021-07-24 20:44:39 字數 1515 閱讀 6861

/*問題及**

*all right reserved.

*檔名稱:kruskal演算法的驗證.cpp

*問題描述:

kruskal演算法的驗證

*輸入描述:帶權圖的鄰接矩陣

*程式輸出:最小生成樹各邊以及權值。

*/#include #include #define maxv 100 //最大頂點個數

#define inf 32767 //inf表示∞

#define maxsize 100

typedef int infotype;

//以下定義鄰接矩陣型別

typedef struct

vertextype; //頂點型別

typedef struct //圖的定義

mgraph; //圖的鄰接矩陣型別

//以下定義鄰接表型別

typedef struct anode //弧的結點結構型別

arcnode;

typedef int vertex;

typedef struct vnode //鄰接表頭結點的型別

vnode;

typedef vnode adjlist[maxv]; //adjlist是鄰接表型別

typedef struct

algraph; //圖的鄰接表型別

typedef struct

edge;

void arraytomat(int *arr, int n, mgraph &g);

void prim(mgraph g,int v);

void insertsort(edge e,int n);

void kruskal(mgraph g);

void arraytomat(int *arr, int n, mgraph &g)

e[j+1]=temp; //在j+1處插入e[i]

}}void kruskal(mgraph g)

insertsort(e,g.e); //採用直接插入排序對e陣列按權值遞增排序

for (i=0; i

vset[i]=i;

k=1; //k表示當前構造生成樹的第幾條邊,初值為1

j=0; //e中邊的下標,初值為0

while (k

j++; //掃瞄下一條邊

}}int main()

, ,,,

,};

arraytomat(a[0], 6, g);

printf("最小生成樹構成:\n");

kruskal(g);

return 0;

}執行結果

第十三周專案1 (2)Kruskal演算法的驗證

問題及 檔名稱 xxy.作 者 徐瀟雨 完成日期 2017 年 11 月 16 日 版 本 號 v1.0 問題描述 最小生成樹的克魯斯卡爾演算法 輸入描述 無 程式輸出 最小生成樹構成 include include include graph.h define maxsize 100 typede...

第十三周專案1 2

問題及 檔名稱 test.cpp 作 者 陳文青 完成日期 2014年11月16日 版 本 號 v1.0 問題描述 建立乙個長度為10的整型陣列並初始化,由後往前 由第9個元素向第0個元素方向 輸出陣列中所有元素的值,改變陣列元素的值,令所有的資料加倍,輸出改變後的值。程式輸入 程式輸出 倒序輸出陣...

第十三周專案1(2)

cpp view plain copy 煙台大學計算機學院 檔名稱 xiangmu.cpp 完成日期 2017年11月26日 問題描述 驗證分塊查詢演算法。請用22,4,23,11,20,2,15,13,30,45,26,34,29,35,26,36,55,98,56,74,61,90,80,96,...