數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告撰寫要求_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告撰寫要求_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告撰寫要求_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告撰寫要求_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告撰寫要求_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告撰寫要求(一)紙張與頁(yè)面設(shè)置 1采用國(guó)際標(biāo)準(zhǔn)A4型打印紙或復(fù)印紙,縱向打印。 2頁(yè)邊距:上3.5cm、下2.5cm、左邊距3.0cm,右邊距2.5cm。3頁(yè)眉2.5cm、頁(yè)腳1.8cm、對(duì)稱頁(yè)邊距。(二)頁(yè)眉“沈陽(yáng)航空工業(yè)學(xué)院課程設(shè)計(jì)報(bào)告”,五號(hào)楷體,居中。(三)頁(yè)腳 標(biāo)頁(yè)碼,五號(hào)宋體,居中。(四)題目、摘要、關(guān)鍵詞 題目:小二號(hào)黑體,居中。(五)標(biāo)題 一級(jí)標(biāo)題,三號(hào)粗宋體,居中,用“1 ”、“2 ”、“3 ”等表示序號(hào)。 二級(jí)標(biāo)題,小三號(hào)粗宋體,左對(duì)齊,用“1.1”、“1.2”、“1.3”等表示序號(hào)。 三級(jí)標(biāo)題,四號(hào)粗宋體,左對(duì)齊,用“1.1.1

2、”、“1.1.2”、“1.1.3”等表示序號(hào)。(六)正文小四號(hào)宋體,兩端對(duì)齊,1.5倍行距。(七)圖、表 1表頭包括:表標(biāo)識(shí)及表名兩部分,表頭在表上,居中,用五號(hào)宋體字。2圖頭包括:圖標(biāo)識(shí)及圖名兩部分,圖頭在圖下,居中,用五號(hào)宋體字。 (八)參考文獻(xiàn) 格式:序號(hào)作者.譯者.書名.版本.出版社,出版時(shí)間 (九)報(bào)告封頁(yè)及模版見(jiàn)下頁(yè) 沈陽(yáng)航空工業(yè)學(xué)院課 程 設(shè) 計(jì) 報(bào) 告課程設(shè)計(jì)名稱:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)課程設(shè)計(jì)題目:PRIM算法求最小生成樹(shù)院(系):計(jì)算機(jī)學(xué)院專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí): 班學(xué) 號(hào): 0姓 名:指導(dǎo)教師: 鄭志勇專心-專注-專業(yè)目 錄 1 需求分析1.1 題目?jī)?nèi)容及要求以合適方便

3、的方式輸入一個(gè)帶權(quán)值的無(wú)向圖,采用合適的存儲(chǔ)結(jié)構(gòu)存儲(chǔ)該無(wú)向圖。然后根據(jù)PRIM算法求該無(wú)向圖的最小生成樹(shù)并輸出。要求:1.輸入無(wú)向圖的方法盡量簡(jiǎn)單方便 2.要能夠形象方便地觀察無(wú)向圖的圖形結(jié)構(gòu) 3.要能夠形象地演示PRIM算法求最小生成樹(shù)的過(guò)程1.2 題目分析剛拿到題目,乍看一下題目很簡(jiǎn)短,貌似很簡(jiǎn)單,但是細(xì)看之后就發(fā)現(xiàn)了很多隱藏在簡(jiǎn)短語(yǔ)句后的更深一層次的要求。首先是“以合適方便的方式輸入”,短短十個(gè)字就向你提出了兩方面要求:首先是“輸入”,即代表你最好可以得到一種通用的算法讓你對(duì)一定范圍內(nèi)的數(shù)據(jù)進(jìn)行運(yùn)算后從而得到正確的結(jié)果;“合適方便”即提示你要從輸入方便且有利于運(yùn)算的輸入數(shù)據(jù)的方法;采用合

4、適的存儲(chǔ)結(jié)構(gòu)必然是本次課設(shè)當(dāng)之無(wú)愧的重點(diǎn),亦是此題目的第三方面要求;最后就是用PRIM算法求無(wú)向圖的最小生成樹(shù)。PRIM算法在理解與實(shí)現(xiàn)方面不是很困難,但要求能夠形象的演示該算法就不是那么簡(jiǎn)單了。無(wú)論從算法角度,還是從輸入方便、存儲(chǔ)安全角度,數(shù)組都是此次課設(shè)的不二選擇,即采用鄰接矩陣的存儲(chǔ)方式來(lái)存儲(chǔ)無(wú)向帶權(quán)圖。雖然鄰接表的動(dòng)態(tài)存儲(chǔ)可以令該算法使用更大規(guī)模的數(shù)據(jù)并在一定范圍內(nèi)比數(shù)組更加節(jié)省空間并有更高的效率,但此次課設(shè)另一個(gè)重點(diǎn)就是演示算法而非真正的應(yīng)用于實(shí)際問(wèn)題,所以只需要較少的數(shù)據(jù)量來(lái)完成PRIM算法的演示即可。故數(shù)組的便于操作及更加穩(wěn)定、方便的優(yōu)勢(shì)便凸顯出來(lái)。在畫圖這個(gè)問(wèn)題上,我曾一度找錯(cuò)

5、了方向。剛拿到題目時(shí),我只是望文生義的認(rèn)為我需要演示的是最小生成樹(shù)一步一步的演示過(guò)程,這讓我一度選擇VC 6.0中的MFC來(lái)演示過(guò)程。但后來(lái),當(dāng)我因?yàn)镸FC當(dāng)量調(diào)用WINDOWS的程序并有較多的頭文件而焦頭爛額的時(shí)候,重讀課設(shè)要求的時(shí)候我才發(fā)現(xiàn),過(guò)于注重細(xì)枝末節(jié)的我竟沒(méi)有抓住此題目真正要求!“模擬PRIM算法最小生成樹(shù)的過(guò)程”即是讓你顯示PRIM算法在更接近計(jì)算機(jī)可以理解的方式上顯示其具體過(guò)程。Turbo C 的超強(qiáng)的圖像處理讓我明白,它就是我這次課設(shè)的系統(tǒng)環(huán)境了。2 系統(tǒng)設(shè)計(jì)2.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)對(duì)于無(wú)向圖的任何操作,無(wú)疑都必須依賴于數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。這里的存儲(chǔ)結(jié)構(gòu)不僅僅指的是數(shù)據(jù)在計(jì)算機(jī)中的物理

6、內(nèi)存,更多的是抽象程度更高的抽象數(shù)據(jù)結(jié)構(gòu)。圖的存儲(chǔ)結(jié)構(gòu)主要有兩種:鄰接矩陣和鄰接表。鄰接表以一個(gè)一維數(shù)組作表頭節(jié)點(diǎn)存儲(chǔ)圖的頂點(diǎn),然后利用表頭引出所有以該點(diǎn)為箭尾的鄰接邊的信息;而鄰接矩陣則是單獨(dú)建立一個(gè)一維數(shù)組來(lái)存儲(chǔ)頂點(diǎn)的信息,并以頂點(diǎn)的個(gè)數(shù)來(lái)建立一個(gè)相應(yīng)的N階對(duì)稱矩陣,以二維數(shù)組存儲(chǔ)單元來(lái)存儲(chǔ)相應(yīng)邊的權(quán)值。由于PRIM算法需要多次修改closeedge 中的adjvex和lowcost 值,且此次數(shù)據(jù)規(guī)模較小,只需達(dá)到演示部分?jǐn)?shù)據(jù)即可,所以統(tǒng)一采用數(shù)組的存儲(chǔ)結(jié)構(gòu),即亦采用鄰接矩陣的存儲(chǔ)結(jié)構(gòu)來(lái)存儲(chǔ)無(wú)向帶權(quán)圖更利于實(shí)現(xiàn)及操作。鄰接矩陣的抽象數(shù)據(jù)結(jié)構(gòu)定義:#define INFINITY INT_

7、MAX /最大值#define MAX_ERTEX_NUM 20 /最大頂點(diǎn)數(shù)typedef enum DG , DN , UDG , UDN GraphKind;/ 有向圖,有向網(wǎng),無(wú)向網(wǎng),無(wú)向圖typedef struct Arc Cell VRType adj ; / VRType 是頂點(diǎn)關(guān)系的類型。對(duì)無(wú)權(quán)圖,用1和0表示相鄰否;對(duì)/帶權(quán)圖則為權(quán)值類型 InfoType * info; /該弧相關(guān)信息的指針ArcCell , AdjMatrix MAX_VERTEX_NUMMAX_VERTEX_NUM;Typedef struct VertexType vexs MAX_VERTEX_N

8、UM ; /頂點(diǎn)向量 AdjMatrix arcs ; / 鄰接矩陣int vexnum , arcnum ; /圖的當(dāng)前頂點(diǎn)數(shù)和弧數(shù)GraphKind kind ; / 圖的種類標(biāo)志Mgraph ;2.2函數(shù)設(shè)計(jì)本系統(tǒng)所使用的函數(shù)見(jiàn)表2.2.1表2.2.1 本系統(tǒng)所使用的函數(shù)函數(shù)名稱函數(shù)原型功能描述main()int main(void)系統(tǒng)調(diào)用主函數(shù)Huiru()Void Huitu ()繪制無(wú)向圖GraphicVer()void GraphicVer(Graph *G)輸出鄰接矩陣prim()void prim(Graph *G)PRIM算法演示本系統(tǒng)所調(diào)用函數(shù)調(diào)用的關(guān)系見(jiàn)圖2.2.2圖

9、2.2.2 本系統(tǒng)的函數(shù)調(diào)用關(guān)系2.2 關(guān)鍵流程流程圖能直觀和系統(tǒng)地把主函數(shù)的各個(gè)執(zhí)行步驟和調(diào)用的子函數(shù)以及調(diào)用先后表示出來(lái),子函數(shù)中也有調(diào)用其他子函數(shù)的情況,畫出子函數(shù)的流程圖能清楚地看出子函數(shù)中各步語(yǔ)句的執(zhí)行,下面是關(guān)于主函數(shù)流程和關(guān)鍵的子函數(shù)流程圖的直觀表示。2.2.1系統(tǒng)流程圖2.2.1 系統(tǒng)流程2.2.2 PRIM 函數(shù)流程表2.2.2 PRIM 函數(shù)流程2.2.3 Huitu函數(shù)流程表2.2.3 Huitu函數(shù)流程2.2.4 GraphicVer函數(shù)輸出鄰接矩陣圖2.2.4 GraphicVer函數(shù)輸出鄰接矩陣3 調(diào)試分析3.1 調(diào)試初期由于編寫的程序具有模塊化的特性,且VC 6.

10、0 的調(diào)試顯然由于TC及個(gè)人對(duì)VC的熟練程度遠(yuǎn)優(yōu)于TC等方面,我選擇先在VC 6.0環(huán)境下完成除圖形化演示算法過(guò)程函數(shù)的其他過(guò)程。由于數(shù)據(jù)結(jié)構(gòu)選擇的較合理,且對(duì)PRIM算法理解的較為深刻,所以在此環(huán)境下的調(diào)試并沒(méi)有太多困難,只是簡(jiǎn)單的筆誤。添加了畫圖函數(shù)后,我就不得不使用TC編程環(huán)境。本人使用的是vista 系統(tǒng),剛運(yùn)行TC就發(fā)現(xiàn)提示:該操作系統(tǒng)不支持16 bit MS-DOS 系統(tǒng)。上網(wǎng)查看幫助,安裝了DOSBOX軟件虛擬出DOS系統(tǒng)運(yùn)行,才開(kāi)始之后的調(diào)試。3.2調(diào)試中期由于Turbo C 2.0 不支持鼠標(biāo),更沒(méi)有剪切、粘貼等常用快捷的操作,且本人對(duì)計(jì)算機(jī)圖形學(xué)、TC的圖形函數(shù)了解甚少,本

11、人電腦更是不兼容TC全屏模式,所以這段時(shí)期成為最讓本人備受煎熬的時(shí)期。首先,由于TC 操作復(fù)雜,更因?yàn)楸救俗兂闪?xí)慣不好,導(dǎo)致經(jīng)常一運(yùn)行就死機(jī)還沒(méi)保存過(guò)的代碼就又“恢復(fù)出廠化”,讓所見(jiàn)之人無(wú)不扼腕惋惜,本人亦是痛心疾首,苦不堪言。編譯過(guò)程出現(xiàn)過(guò)的錯(cuò)誤有把自定義函數(shù)的名字與TC 圖形化函數(shù)其中一個(gè)的關(guān)鍵字相同,TC顯示“該函數(shù)定義了多重特性”或“該函數(shù)數(shù)值過(guò)多”等類似提示的錯(cuò)誤圖3.2.1 初始化錯(cuò)誤將自定義的initgraph函數(shù)重新命名為void huitu( ),即可排除此錯(cuò)誤。再次編譯,又發(fā)現(xiàn)指針錯(cuò)誤:圖3.2.2 指針錯(cuò)誤Outtextxy(int x ,int y ,*p),即要求最后

12、一項(xiàng)為指向一字符串的指針。數(shù)組就是指針,如果這里出錯(cuò),那只應(yīng)該是我定義的lowcose 存儲(chǔ)的數(shù)不是字符串。所以我曾試圖用strcpy()將數(shù)組內(nèi)數(shù)據(jù)一一進(jìn)行傳拷貝到一指針,然后再調(diào)用outtextxy()。但是結(jié)果依然錯(cuò)誤!后來(lái),在同學(xué)的幫助下,我終于弄明白是因?yàn)槲覕?shù)組內(nèi)存儲(chǔ)的是整數(shù)型數(shù)據(jù),必然無(wú)法通過(guò)strcpy( )轉(zhuǎn)換成指針。后來(lái),我改用vsprintf(tmp,"%d",&lowcostvex-i),即現(xiàn)將整型轉(zhuǎn)化為字符串,此錯(cuò)誤即可排除。 3.3 調(diào)試后期圖3.3 連接錯(cuò)誤這是經(jīng)過(guò)多次修改后,最后一個(gè)編譯錯(cuò)誤。該名定義是你所使用的視頻顯示模式,影響的是圖

13、形化后的屏幕像素及可支持的最大色彩。經(jīng)試驗(yàn),此程序在另一臺(tái)XP電腦上可編譯成功,故本人認(rèn)為是由于VISTA的兼容性導(dǎo)致TC無(wú)法調(diào)用該定義,即使使用虛擬機(jī)也無(wú)法排除??紤]到此語(yǔ)句對(duì)輸出結(jié)果影響不大,故將此語(yǔ)句刪除,即使得TC自動(dòng)獲取其他可用的視頻模式。編譯成功!4 測(cè)試及運(yùn)行結(jié)果4.1 歡迎界面運(yùn)行程序,首先進(jìn)入用戶的歡迎界面。模擬界面向?qū)RIS采用互動(dòng)式的方法提示用戶進(jìn)入PRIM算法演示界面。首先IRIS會(huì)先詢問(wèn)用戶是否愿意看PRIM算法演示,若此時(shí)用戶選擇“y”,用戶即可順利進(jìn)入模擬PRIM 的程序(見(jiàn)圖4.1.1);圖4.1.1 用戶歡迎界面及正常進(jìn)入算法演示界面否則,向?qū)в亚樘崾究梢灾?/p>

14、接退出程序,其效果圖見(jiàn)圖4.1.2。圖4.1.2 用戶選擇退出算法演示的界面4.2獲取輸入,繪制無(wú)向圖創(chuàng)建無(wú)向圖,動(dòng)態(tài)顯示在屏幕上,并輸出其存儲(chǔ)結(jié)構(gòu),即無(wú)向網(wǎng)的鄰接矩陣。首先按照提示,收入先要?jiǎng)?chuàng)建頂點(diǎn)的坐標(biāo)及其名。其效果圖見(jiàn)圖4.2.1圖4.2.2 動(dòng)態(tài)建立無(wú)向圖輸入時(shí)需要注意的是,由于該程序時(shí)默認(rèn)添加一點(diǎn)則連接相應(yīng)的直線,所以在一點(diǎn)多線的時(shí)候,像例子中的A點(diǎn),就要重新返回A后再連接其他點(diǎn)。具體操作見(jiàn)圖4.2.3。圖4.2.3 建立一點(diǎn)多線時(shí)的具體操作方法圖4.2.4 創(chuàng)建無(wú)線圖的最終效果圖4.3 輸出鄰接矩陣向?qū)Э梢宰詣?dòng)進(jìn)入輸出鄰接矩陣的界面圖4.3.1 鄰接矩陣的開(kāi)始界面由于“”無(wú)法被TC

15、識(shí)別,故該位置改用可以識(shí)別的其他特殊符號(hào)“-”。圖4.3.2 輸入邊信息 圖4.3.3 鄰接矩陣的輸出4.4. 演示PRIM算法生成最小生成樹(shù)向?qū)容敵鰧?duì)該算法的介紹,然后提示用戶開(kāi)始算法的演示。圖4.4.1 PRIM算法的介紹用戶確認(rèn)后開(kāi)始算法的每個(gè)步驟。其生成過(guò)程見(jiàn)圖圖4.4.2 第一次查找后lowcost和closest 數(shù)組值的變化圖4.4.3 第二次查找后lowcost和closest 數(shù)組值的變化圖4.4.3 第三次查找后lowcost和closest 數(shù)組值的變化圖4.4.4 相關(guān)算法4.5 用戶退出演示完成后,向?qū)Э商崾咀詣?dòng)退出。圖4.5 退出界面參考文獻(xiàn)1 嚴(yán)蔚敏,吳偉民.數(shù)

16、據(jù)結(jié)構(gòu)(C語(yǔ)言版)M.北京:清華大學(xué)出版社,20062 呂國(guó)英.算法設(shè)計(jì)與分析M.北京:清華大學(xué)出版社,20063 李蘭友.Turbo C 實(shí)用圖形程序設(shè)計(jì)M.北京.科技翻譯出版公司,19944 侯風(fēng)巍.數(shù)據(jù)結(jié)構(gòu)要點(diǎn)精析C語(yǔ)言版M.北京:北京航空航天大學(xué)出版社,20075亦歐.TURBO C+ 運(yùn)行庫(kù)函數(shù)源程序與參考大全M.北京.學(xué)院出版社,19936謝明與.Borland C+/Turbo C+ 編程實(shí)例剖析M.北京.科學(xué)出版社.19937衛(wèi)寧.Turbo C+ for DOS 入門.M. 北京.學(xué)院出版社,1994附 錄(關(guān)鍵部分程序清單)#include<graphics.h>

17、;#include <stdio.h>#include <string.h>#include <stdlib.h>#include <conio.h>#define MaxVertexNum 50#define INF 32767typedef struct Graphicchar vexsMaxVertexNum;int edgesMaxVertexNumMaxVertexNum;int v,e;Graph;char tmp10;void Huitu() /*無(wú)向圖的圖形生成*/ char buffer100;int graphdriver =

18、 DETECT, graphmode;int i,xbefore,ybefore;int x1,y1; char c;/*registerbgidriver(EGAVGA_driver);*/ /*使用EGAVGA顯卡模式,分辨率為640*480*/initgraph(&graphdriver, &graphmode, ""); /*圖形初始化*/cleardevice(); /*清屏*/printf("input pot (300<x<610,y<400):ninput 0 to halt!n");setfillsty

19、le(1,WHITE);setcolor(WHITE);scanf("%d,%d,%s",&xbefore,&ybefore,buffer);circle(xbefore,ybefore,15);floodfill(xbefore,ybefore,WHITE);setcolor(BLUE);outtextxy(xbefore, ybefore, buffer);setcolor(WHITE);moveto(xbefore,ybefore);while(1)scanf("%d,%d,%s",&x1,&y1,buffer);i

20、f(x1=0) break;circle(x1,y1,15);floodfill(x1,y1,WHITE);setcolor(BLUE);outtextxy(x1, y1, buffer);setcolor(WHITE);line(xbefore,ybefore,x1,y1);xbefore=x1;ybefore=y1;system("pause");void GraphicVer(Graph *G) /*build and output the adjMatrix*/int i,j,k,weight;int v1,v2; printf("input vertex

21、's and edges's number :"); scanf("%d,%d",&G->v,&G->e); for(i=1;i<=G->v;i+) for(j=1;j<=G->v;j+) if(i=j) G->edgesij=0; else G->edgesij=INF; /*初始化矩陣,全部元素設(shè)為無(wú)窮大 */ for(k=1;k<=G->e;k+) printf("input %dth edge :",k); scanf("%d,%d,%

22、d",&v1,&v2,&weight); G->edgesv1v2=G->edgesv2v1=weight; for(i=1;i<=G->v;i+) printf("n"); for(j=1;j<=G->v;j+) printf(G->edgesij=INF)?"t":"%dt",G->edgesij); printf("n"); system("pause");/*prim 算法生成最小生成樹(shù)*/void pri

23、m(Graph *G)int lowcostMaxVertexNum,closestMaxVertexNum; int i,j,k,min; for(i=2;i<=G->v;i+) /*n個(gè)頂點(diǎn),n-1條邊 */ lowcosti=G->edges1i; /*初始化*/ closesti=1; /*頂點(diǎn)未加入到最小生成樹(shù)中 */ lowcost1=0; /*標(biāo)志頂點(diǎn)1加入U(xiǎn)集合*/ for(i=2;i<=G->v;i+) /*形成n-1條邊的生成樹(shù) */min=INF; k=0; for(j=2;j<=G->v;j+) /*尋找滿足邊的一個(gè)頂點(diǎn)在U,另

24、一個(gè)頂點(diǎn)在V的最小邊 */if(lowcostj<min)&&(lowcostj!=0)min=lowcostj; k=j; printf("(%d,%d)%2dt",closestk,k,min); /*輸出最小生成樹(shù)的邊及對(duì)應(yīng)的權(quán)值*/ lowcostk=0; /*頂點(diǎn)k加入U(xiǎn)*/ for(j=2;j<=G->v;j+) /*修改由頂點(diǎn)k到其他頂點(diǎn)邊的權(quán)值*/if(G->edgeskj<lowcostj)lowcostj=G->edgeskj; closestj=k; printf("n");voi

25、d drawwapicture(int lowcost,int closest,int vex) int i=0,x=0,datax=0;setviewport(150,140,630,310,1);cleardevice();setcolor(GREEN);rectangle(10,10,470,160); line(10,60,470,60);line(10,110,470,110);for(i=0;i<vex;i+)x=470-40*i;datax=470-20*i;line(x,10,x,160);if(vex-i)!=0)outtextxy(datax,35,"(ve

26、x-i)0"); vsprintf(tmp,"%d",&lowcostvex-i); outtextxy(datax,85,tmp); vsprintf(tmp,"%d",&closestvex-i);outtextxy(datax,135,tmp);elseouttextxy(datax,35,"i0");outtextxy(datax,85,"lowcost0");outtextxy(datax,135,"closest0");getche();closegraph

27、();/*prim 算法生成最小生成樹(shù)*/void primyanshi(Graph *G) void drawwapicture(int *p,int*q,int k);int lowcostMaxVertexNum,closestMaxVertexNum; int i,j,k,min;cleardevice(); for(i=2;i<=G->v;i+) /*n個(gè)頂點(diǎn),n-1條邊 */ lowcosti=G->edges1i; /*初始化*/ closesti=1; /*頂點(diǎn)未加入到最小生成樹(shù)中 */drawwapicture(lowcost,closest,G->v

28、); lowcost1=0; /*標(biāo)志頂點(diǎn)1加入U(xiǎn)集合*/ drawwapicture(lowcost,closest,G->v); for(i=2;i<=G->v;i+) /*形成n-1條邊的生成樹(shù) */ min=INF; k=0; for(j=2;j<=G->v;j+) /*尋找滿足邊的一個(gè)頂點(diǎn)在U,另一個(gè)頂點(diǎn)在V的最小邊 */if(lowcostj<min)&&(lowcostj!=0)min=lowcostj; k=j; drawwapicture(lowcost,closest,G->v); cprintf("(%d

29、,%d)%2dt",closestk,k,min); /*輸出最小生成樹(shù)的邊及對(duì)應(yīng)的權(quán)值*/ lowcostk=0; /*頂點(diǎn)k加入U(xiǎn)*/drawwapicture(lowcost,closest,G->v); for(j=2;j<=G->v;j+) /*修改由頂點(diǎn)k到其他頂點(diǎn)邊的權(quán)值*/if(G->edgeskj<lowcostj)lowcostj=G->edgeskj; closestj=k; drawwapicture(lowcost,closest,G->v); printf("n");int main()Graph *G=NULL;int flag=1; printf("/*/n");printf("/*Welcome to the world of IRIS*/n");printf("/*0*/n"); while(flag!=0) printf("1:Build a Undigraph Net an

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論