克魯斯卡爾算法求無向網(wǎng)的最小生成樹數(shù)據(jù)結(jié)構(gòu)報(bào)告_第1頁
克魯斯卡爾算法求無向網(wǎng)的最小生成樹數(shù)據(jù)結(jié)構(gòu)報(bào)告_第2頁
克魯斯卡爾算法求無向網(wǎng)的最小生成樹數(shù)據(jù)結(jié)構(gòu)報(bào)告_第3頁
克魯斯卡爾算法求無向網(wǎng)的最小生成樹數(shù)據(jù)結(jié)構(gòu)報(bào)告_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)結(jié)構(gòu)上機(jī)報(bào)告(1)姓名:張可心 學(xué)號班級:1403018一、題目描述用克魯斯卡爾(Kruskal)算法求無向網(wǎng)的最小生成樹,分 析你的算法的時(shí)空復(fù)雜度,必須有過程說明。輸入:輸入數(shù)據(jù)第一行為兩個(gè)正整數(shù)n和m,分別表示頂點(diǎn)數(shù)和邊 數(shù)。后面緊跟m行數(shù)據(jù),每行數(shù)據(jù)是一條邊的信息,包括三 個(gè)數(shù)字,分別表示該邊的兩個(gè)頂點(diǎn)和邊上的權(quán)值。輸出:按順序輸出Kruskal算法求得的最小生成樹的邊集,每行一 條邊,包括三個(gè)數(shù)字,分別是該邊的兩個(gè)頂點(diǎn)和邊上的權(quán)值, 其中第一個(gè)頂點(diǎn)的編號應(yīng)小于第二個(gè)頂點(diǎn)的編號。示例輸入8 112 34 5 TOC o 1-5 h z 6 184 75 6

2、5 108 206 1547115785812示例輸出123145256578351058124615二、解題思路假定每對頂點(diǎn)表示圖的一條邊,每條邊對應(yīng)一個(gè)權(quán)值;輸入每條邊的頂點(diǎn)和權(quán)值;輸入每條邊后,計(jì)算出最小生成樹;打印最小生成樹邊的頂點(diǎn)及權(quán)值。三、源代碼#include#includetypedef struct (int a,b,value;node;int stcmp(const void *p,const void *q)(node *a=(node *)p;node *b=(node *)q;if(a-valueb-value)return 1;else if(a-value=b-

3、value)return 0;elsereturn -1;int root(int a,int *b)for(;a!=ba;a=ba);return a;bool isgroup(int a,int b,int *c)( if(root(a,c)=root(b,c)return true; return false;void add(int a,int tob,int *c)( croot(a,c)=root(tob,c);int main ()(int n,m;scanf(%d %d”,&n,&m);node nom;for(int u=0;um;u+)scanf(%d,&(nou.a);s

4、canf(%d,&(nou.b);scanf(%d,&(nou.value);qsort(no,m,sizeof(no0),stcmp);int bcjn+1;for(int u=1;u=n;u+) bcju=u;int i=0;int cc=n;for(;im;i+)if(!isgroup(noi.a,noi,b,bcj) add(noi.a,noi.b,bcj);cc;printf(%d %d %dn,noi.a,noi.b,noi.value);if(cc=1)break;return 0;四、運(yùn)行結(jié)果C:Program Files (x86)Dev-CppConsolePauser.exeB 1112 314 5 TOC o 1-5 h z 6 184 75 65 108 206 157 117 88 1212 314 55 G5 7 85 105 8 126 15

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論