下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
大連民族學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)題目:最小生成樹(shù)的Kruskal算法課程名稱(chēng):離散數(shù)學(xué)實(shí)驗(yàn)類(lèi)型:□演示性□驗(yàn)證性□操作性■設(shè)計(jì)性□綜合性專(zhuān)業(yè):軟件工程班級(jí):111學(xué)生姓名:xx學(xué)號(hào):xx實(shí)驗(yàn)日期:2012年12月6-28日實(shí)驗(yàn)地點(diǎn):金石灘校區(qū)機(jī)房201實(shí)驗(yàn)學(xué)時(shí):10學(xué)時(shí)實(shí)驗(yàn)成績(jī):指導(dǎo)教師:焉德軍姜楠2012年12月28日[實(shí)驗(yàn)原理]設(shè)所給定無(wú)向連通加權(quán)圖具有n個(gè)結(jié)點(diǎn),m條邊,首先,將各條邊的權(quán)按從小到大的順序排序。然后依次將這些邊按所給圖的結(jié)構(gòu)放到生成樹(shù)中去。如果在放置某一條邊時(shí),使得生成樹(shù)形成回路,那么刪除這條邊。這樣,直至生成樹(shù)具有n-1條邊時(shí),我們所得到的就是一棵最小生成樹(shù)。[實(shí)驗(yàn)內(nèi)容]給定無(wú)向連通加權(quán)圖,編程設(shè)計(jì)求出其一棵最小生成樹(shù)。[實(shí)驗(yàn)?zāi)康腯通過(guò)算法設(shè)計(jì)并編程實(shí)現(xiàn)求出給定無(wú)向連通加權(quán)圖的一棵最小生成樹(shù),加深學(xué)生對(duì)求最小生成樹(shù)的Kruskal算法的理解。[實(shí)驗(yàn)步驟]邊依小到大順序得l1,l2,…,lm。置初值:S,0i,1j。假設(shè)i=n-1,那么轉(zhuǎn)〔6〕。假設(shè)生成樹(shù)邊集S并入一條新的邊lj之后產(chǎn)生的回路,那么j+1j,并轉(zhuǎn)〔4〕。否那么,i+1i;ljS〔i〕;j+1j,轉(zhuǎn)〔3〕。輸出最小生成樹(shù)S。結(jié)束。具體程序的C++實(shí)現(xiàn)如下:#include<iostream>usingnamespacestd;constintMaxVertex=20;constintMaxEdge=100;constintMaxSize=100;structEdgeType{intfrom;intto;intweight;};structEdgeGraph{charvertex[MaxVertex]; EdgeTypeedge[MaxEdge];intvertexNum;intedgeNum;};intFindRoot(intparent[],intv);voidInputInfo();voidKruskal(EdgeGraphG){intvex1,vex2,f,t;inti,num;intparent[MaxVertex];for(i=0;i<G.vertexNum;i++) { parent[i]=-1; }for(num=0,i=0;i<G.edgeNum;i++) { vex1=FindRoot(parent,G.edge[i].from); vex2=FindRoot(parent,G.edge[i].to);if(vex1!=vex2) { cout<<"("<<G.edge[i].from<<","<<G.edge[i].to<<")"<<endl; f=G.edge[i].from; t=G.edge[i].to; cout<<"("<<G.vertex[f]<<","<<G.vertex[t]<<")"<<"Weight:"<<G.edge[i].weight<<endl;cout<<endl; parent[vex2]=vex1;num++;if(num==G.vertexNum-1)return; } }return;}intFindRoot(intparent[],intv){intt; t=v;if(parent[t]>-1) { t=parent[t];}returnt;}voidInputInfo(){ EdgeGraphG; cout<<"PleaseinputvertexNum,edgeNum:"<<endl; cin>>G.vertexNum>>G.edgeNum; cout<<"Pleaseinputtheinformationofedges:"<<endl;for(inti=0;i<G.vertexNum;i++) { cin>>G.vertex[i]; } cout<<"Pleaseinputthisedgeattachestwoverticessubscriptanditsweight"<<endl;for(intj=0;j<G.edgeNum;j++) { cin>>G.edge[j].from>>G.edge[j].to>>G.edge[j].weight; } Kruskal(G);}intmain(){ InputInfo(); system("pause");return0;}實(shí)驗(yàn)過(guò)程中遇到的問(wèn)題及解決過(guò)程比方不知道如何存儲(chǔ)邊集數(shù)組,以及比知道如何聲明一些變量,函數(shù)和怎樣去調(diào)用Kruskal函數(shù)……解決:通過(guò)設(shè)置結(jié)構(gòu)體EdgeType與結(jié)構(gòu)體EdgeGraph的聯(lián)合來(lái)存儲(chǔ)邊集,因?yàn)樵趧傞_(kāi)始我在主函數(shù)中用EdgeGraph聲明變量G,來(lái)作為形參去調(diào)用Kruskal(G),編譯時(shí)就會(huì)警告未被初始化的G,的程序出錯(cuò),后來(lái)我將Kruskal(G)在InputInfo()中調(diào)用,因?yàn)镮nputInfo()函數(shù)中聲明了變量G,并使得G初始化,從而是的程序能正常運(yùn)行。測(cè)試的圖與預(yù)期生成的最小樹(shù)[實(shí)驗(yàn)記錄](méi)實(shí)驗(yàn)總結(jié),感想通過(guò)這次的上機(jī)實(shí)驗(yàn),加深了我對(duì)課本上的理論知識(shí)的認(rèn)識(shí)與理解,然我真實(shí)的體驗(yàn)到了從研究問(wèn)題到解決問(wèn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)數(shù)學(xué)新人教版一年級(jí)下冊(cè)20以內(nèi)口算練習(xí)題大全
- 遼寧工程技術(shù)大學(xué)《建筑工程概預(yù)算課程設(shè)計(jì)A》2023-2024學(xué)年第一學(xué)期期末試卷
- 四川省瀘州市納溪區(qū)2024年中考數(shù)學(xué)適應(yīng)性考試試題含答案
- 九州職業(yè)技術(shù)學(xué)院《數(shù)字化運(yùn)營(yíng)管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院《兒童文學(xué)與兒童劇創(chuàng)編》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉安幼兒師范高等專(zhuān)科學(xué)?!缎竽廖⑸飳W(xué)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南理工學(xué)院《導(dǎo)游實(shí)務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖北生物科技職業(yè)學(xué)院《歷史學(xué)綜合素質(zhì)指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 【物理】《彈力》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教版(2024)初中物理八年級(jí)下冊(cè)
- 高考物理模擬測(cè)試題(含答案)
- 春節(jié)文化常識(shí)單選題100道及答案
- 2024年杭州師范大學(xué)附屬醫(yī)院招聘高層次緊缺專(zhuān)業(yè)人才筆試真題
- 制造業(yè)BCM業(yè)務(wù)連續(xù)性管理培訓(xùn)
- 商場(chǎng)停車(chē)場(chǎng)管理制度
- 2024年全國(guó)職業(yè)院校技能大賽高職組(體育活動(dòng)設(shè)計(jì)與實(shí)施賽項(xiàng))考試題庫(kù)(含答案)
- 福建省廈門(mén)市2023-2024學(xué)年高一上學(xué)期1月期末質(zhì)量檢測(cè)數(shù)學(xué)試題 附答案
- 財(cái)務(wù)報(bào)銷(xiāo)流程培訓(xùn)課程
- 2024-2025學(xué)年度第一學(xué)期四年級(jí)數(shù)學(xué)寒假作業(yè)
- 全新照顧老人保姆合同協(xié)議書(shū)下載
- 體育賽事策劃與管理全套課件
- 文言文虛詞“之、而、其、已”的用法及專(zhuān)項(xiàng)練習(xí)(講義)-人教部編版(一起)語(yǔ)文九年級(jí)(上冊(cè))
評(píng)論
0/150
提交評(píng)論