#include#include#defineMAX100structNode{intvertex1;intvertex2;i">
數(shù)據(jù)結(jié)構(gòu)Kruskal算法求解最小生成樹

數(shù)據(jù)結(jié)構(gòu)Kruskal算法求解最小生成樹

ID:40143192

大?。?2.00 KB

頁(yè)數(shù):3頁(yè)

時(shí)間:2019-07-23

數(shù)據(jù)結(jié)構(gòu)Kruskal算法求解最小生成樹_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)Kruskal算法求解最小生成樹_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)Kruskal算法求解最小生成樹_第3頁(yè)
資源描述:

《數(shù)據(jù)結(jié)構(gòu)Kruskal算法求解最小生成樹》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。

1、數(shù)據(jù)結(jié)構(gòu)Kruskal算法求解最小生成樹#include#include#include#defineMAX100structNode{intvertex1;intvertex2;intweight;structNode*next;};typedefstructNode*Edge;Edgehead=NULL;intvisited[MAX];Edgeread(){intv1,v2,w;EdgenewNode=NULL,pointer=NULL;while

2、(1){scanf("%d%d%d",&v1,&v2,&w);if(v1==-1

3、

4、v2==-1

5、

6、w==-1)break;newNode=(Edge)malloc(sizeof(structNode));newNode->vertex1=v1;newNode->vertex2=v2;newNode->weight=w;newNode->next=NULL;pointer=head;if(pointer==NULL)head=newNode;else{if(newNode->weightw

7、eight){newNode->next=pointer;head=newNode;}else{while(pointer!=NULL&&pointer->next!=NULL){if(pointer->weightweight&&newNode->weightnext->weight){newNode->next=pointer->next;pointer->next=newNode;break;}pointer=pointer->next;}pointer->nex

8、t=newNode;}}}returnhead;}voidprintLink(Edgeedge){Edgepointer=edge;printf("圖中所有邊按權(quán)值遞增的排序如下:");while(pointer!=NULL){printf("[%d%d]",pointer->vertex1,pointer->vertex2);printf("(%d)",pointer->weight);if(pointer->next!=NULL)printf("==>");pointer=pointer->n

9、ext;}printf("");}voidkruskal(Edgeedge,intvexnum){intvisitedEdgeNum=0,weight=0;printf("最小生成樹的路徑為:");while(visitedEdgeNumvertex1]==0

10、

11、visited[edge->vertex2]==0){printf("[%d%d]",edge->vertex1,edge->vertex2);printf("(%d)",edge->w

12、eight);weight+=edge->weight;visitedEdgeNum++;visited[edge->vertex1]=1;visited[edge->vertex2]=1;}edge=edge->next;if(edge==NULL){break;}}printf("最短路徑長(zhǎng)度為:%d",weight);}voidmain(){intvexnum,i;Edgeedge=NULL;printf("請(qǐng)輸入定點(diǎn)個(gè)數(shù)、各頂點(diǎn)和權(quán)值:輸入形式如下:nijw...-1-1-1n

13、表示圖的頂點(diǎn)個(gè)數(shù),ijw表示從頂點(diǎn)i到頂點(diǎn)j的權(quán)為w的一條邊,均以-1結(jié)尾。");scanf("%d",&vexnum);for(i=0;i

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。