北理珠校園導(dǎo)游咨詢與最短路徑_第1頁
北理珠校園導(dǎo)游咨詢與最短路徑_第2頁
北理珠校園導(dǎo)游咨詢與最短路徑_第3頁
北理珠校園導(dǎo)游咨詢與最短路徑_第4頁
北理珠校園導(dǎo)游咨詢與最短路徑_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-作者xxxx-日期xxxx北理珠校園導(dǎo)游咨詢與最短路徑【精品文檔】北京理工大學(xué)珠海學(xué)院課程設(shè)計(jì)說明書_2014_2015_學(xué)年第_ 1 _學(xué)期題目: 北理珠校園導(dǎo)游咨詢與最短路徑 學(xué) 院: 計(jì)算機(jī)學(xué)院 專業(yè)班級(jí): 學(xué) 號(hào): 學(xué)生姓名: 指導(dǎo)教師: 王琳 成 績(jī): 時(shí) 間: 2014年12月30日 2014 年 12 月 30 日設(shè)計(jì)任務(wù)書2014 2015學(xué)年 第1學(xué)期學(xué)生姓名: 專業(yè)班級(jí): 指導(dǎo)教師: 王琳 工作部門: 計(jì)算機(jī)學(xué)院 一、課程設(shè)計(jì)題目北理珠校園導(dǎo)游咨詢與最短路徑二、課程設(shè)計(jì)內(nèi)容(含技術(shù)指標(biāo))【問題描述】從北京理工大學(xué)珠海學(xué)院的平面圖中選取有代表性景點(diǎn)(10-15個(gè)),抽象成一

2、個(gè)無向帶權(quán)圖。以圖中頂點(diǎn)表示景點(diǎn),邊上的權(quán)值表示兩地之間距離。本程序的目的是為用戶提供路徑咨詢。根據(jù)用戶指定的始點(diǎn)和終點(diǎn)輸出相應(yīng)路徑,或者根據(jù)用戶指定的景點(diǎn)輸出景點(diǎn)的信息?!救蝿?wù)要求】從北京理工大學(xué)珠海學(xué)院的平面圖中選取有代表性景點(diǎn)(10-15個(gè)),抽象成一個(gè)無向帶權(quán)圖。以圖中頂點(diǎn)表示校內(nèi)各景點(diǎn),存放景點(diǎn)名稱、代號(hào)、簡(jiǎn)介等信息;以邊表示路徑,存放路徑長(zhǎng)度等信息。為來訪客人提供圖中任意景點(diǎn)相關(guān)信息的查詢。為來訪客人提供圖中任意景點(diǎn)的問路查詢,即查詢?nèi)我鈨蓚€(gè)景點(diǎn)之間的一條最短的簡(jiǎn)單路徑。區(qū)分汽車線路與步行線路。【測(cè)試數(shù)據(jù)】北理珠校園導(dǎo)游圖(距離可估計(jì))。三、進(jìn)度安排1初步設(shè)計(jì):寫出初步設(shè)計(jì)思路,進(jìn)

3、行修改完善,并進(jìn)行初步設(shè)計(jì)。2詳細(xì)設(shè)計(jì):根據(jù)確定的設(shè)計(jì)思想,進(jìn)一步完善初步設(shè)計(jì)內(nèi)容,按要求編寫出數(shù)據(jù)結(jié)構(gòu)類型定義、各算法程序、主函數(shù)。編譯分析調(diào)試錯(cuò)誤。3測(cè)試分析:設(shè)計(jì)幾組數(shù)據(jù)進(jìn)行測(cè)試分析,查找存在的設(shè)計(jì)缺陷,完善程序。4報(bào)告撰寫:根據(jù)上面設(shè)計(jì)過程和結(jié)果,按照要求寫出設(shè)計(jì)報(bào)告。5答辯考核驗(yàn)收:教師按組(人)檢查驗(yàn)收,并提出相關(guān)問題,以便檢驗(yàn)設(shè)計(jì)完成情況。四、基本要求1在設(shè)計(jì)時(shí),要嚴(yán)格按照題意要求獨(dú)立進(jìn)行設(shè)計(jì),不能隨意更改。若確因條件所限,必須要改變課題要求時(shí),應(yīng)在征得指導(dǎo)教師同意的前提下進(jìn)行。 2在設(shè)計(jì)完成后,應(yīng)當(dāng)場(chǎng)運(yùn)行和答辯,由指導(dǎo)教師驗(yàn)收,只有在驗(yàn)收合格后才能算設(shè)計(jì)部分的結(jié)束。 3設(shè)計(jì)結(jié)束

4、后要寫出課程設(shè)計(jì)報(bào)告,以作為整個(gè)課程設(shè)計(jì)評(píng)分的書面依據(jù)和存檔材料。設(shè)計(jì)報(bào)告以規(guī)定格式的電子文檔書寫、打印并裝訂,報(bào)告格式嚴(yán)格按照模板要求撰寫,排版及圖、表要清楚、工整。從總體來說,所設(shè)計(jì)的程序應(yīng)該全部符合要求,問題模型、求解算法以及存儲(chǔ)結(jié)構(gòu)清晰;具有友好、清晰的界面;設(shè)計(jì)要包括所需要的輔助程序,如必要的數(shù)據(jù)輸入、輸出、顯示和錯(cuò)誤檢測(cè)功能;操作使用要簡(jiǎn)便;程序的整體結(jié)構(gòu)及局部結(jié)構(gòu)要合理;設(shè)計(jì)報(bào)告要符合規(guī)范。 課程負(fù)責(zé)人簽名: 年 月 日課程設(shè)計(jì)分工安排姓名課程設(shè)計(jì)負(fù)責(zé)工作備注成績(jī)?cè)u(píng)定表姓 名成績(jī)?cè)u(píng)定權(quán)重總分總成績(jī)(五分制)平時(shí)成績(jī)20報(bào)告成績(jī)50答辯成績(jī)30摘 要 通過數(shù)據(jù)結(jié)構(gòu)“圖”構(gòu)成抽象數(shù)據(jù)

5、類型,該系統(tǒng)運(yùn)用了數(shù)組表示法(領(lǐng)結(jié)矩陣)初始化圖,分別存儲(chǔ)數(shù)據(jù)元素(景點(diǎn))和數(shù)據(jù)元素(路段)之間的關(guān)系,迪杰斯特拉算法來描述各景點(diǎn)所有游覽路徑,佛洛依德算法設(shè)計(jì)景點(diǎn)之間的最短路徑,結(jié)合上述算法設(shè)計(jì)了一個(gè)校園導(dǎo)航與最短路徑系統(tǒng),供來訪北理珠的客人使用,為其提供方便。關(guān)鍵詞:概要設(shè)計(jì) 詳細(xì)設(shè)計(jì) 軟件測(cè)試I目錄課程設(shè)計(jì)說明書1設(shè)計(jì)任務(wù)書2成績(jī)?cè)u(píng)定表6摘 要7目錄81.前 言9問題的描述9算法輸入9算法輸出92.概要設(shè)計(jì)11要點(diǎn)描述11模塊分解113.詳細(xì)設(shè)計(jì)12算法程序流程圖12界面設(shè)計(jì)134.軟件測(cè)試175.參考文獻(xiàn)196.心得體會(huì)20答辯記錄表211.前 言從北京理工大學(xué)珠海學(xué)院的平面圖中選取有

6、代表性景點(diǎn)(10-15個(gè)),抽象成一個(gè)無向帶權(quán)圖。以圖中頂點(diǎn)表示景點(diǎn),邊上的權(quán)值表示兩地之間距離。本程序的目的是為用戶提供路徑咨詢。根據(jù)用戶指定的始點(diǎn)和終點(diǎn)輸出相應(yīng)路徑,或者根據(jù)用戶指定的景點(diǎn)輸出景點(diǎn)的信息MGraph CreatGraph(void) /初始化MGraph G;int i, j; = 10; /14個(gè)頂點(diǎn) = 16; /14條弧for (i = 0; i; i+)i.num = i; /第i個(gè)景點(diǎn)的編號(hào)為istrcpy_s(0.name, 北理圖書館); 出void cmd(void);MGraph CreatGraph(void); /初始化圖void Menu(void)

7、; /主界面void Browser(MGraph *G); /瀏覽全部景點(diǎn)void ShortestPath_DIJ(MGraph * G); /該點(diǎn)到其它全部路徑void Floyd(MGraph *G); /兩景點(diǎn)最短路徑void Search(MGraph *G); /查看景點(diǎn)信息void printMatrix(MGraph *G); /輸出領(lǐng)結(jié)矩陣 用圖的算法進(jìn)行構(gòu)造,用鄰接表建立圖,圖的每一個(gè)頂點(diǎn)代表相應(yīng)的景點(diǎn)。然后再用深度優(yōu)先遍歷進(jìn)行搜索,查找所需的路徑。再用迪杰特斯拉算法求出一個(gè)景點(diǎn)到其他景點(diǎn)之間的最佳路徑。然后再用弗洛伊德算法求出要查詢的出發(fā)點(diǎn)到目的地的最短路徑。 (1)

8、主菜單(Menu):存放著所有的選擇供用戶查詢。用戶可通過輸入編號(hào)來查詢自己想要獲得的信息 (2) 瀏覽校園全景(Browser):采用深度遍歷圖進(jìn)行所有景點(diǎn)瀏覽,將遍歷景點(diǎn)信息輸出。(3)查看各景點(diǎn)游覽路線(ShortestPath_DIJ):用戶輸入一個(gè)景點(diǎn),采用迪杰斯特拉算法將從該景點(diǎn)起所有路徑查出并輸出在屏幕上。(4)選擇出發(fā)點(diǎn)和目的地(Floyd):用戶輸入一個(gè)出發(fā)點(diǎn)和一個(gè)目的地編號(hào),采用弗洛伊德算法求出發(fā)點(diǎn)到目的地的最短路徑。(5)查看景點(diǎn)信息(Search):直接輸入編號(hào)進(jìn)行單個(gè)景點(diǎn)查詢。(6)顯示圖的鄰接矩陣(print)(7)退出系統(tǒng)(exit) 主菜單(Menu): voi

9、d Menu() /定義主菜單printf(n 北京理工大學(xué)珠海學(xué)院導(dǎo)游圖 n);printf( n);printf( 1.瀏覽校園全景 n);printf( 2.查看各景點(diǎn)所有游覽路線 n);printf( 3.選擇出發(fā)點(diǎn)和目的地 n);printf( 4.查看景點(diǎn)信息 n);printf( 5.顯示此圖的鄰接矩陣 n);printf( 6.退出系統(tǒng) n);printf( n);printf(選項(xiàng)-:);瀏覽校園全景(Browser):void Browser(MGraph *G)int v;printf(編號(hào)景點(diǎn)名稱簡(jiǎn)介 n); for (v = 0; vvexnum; v+)printf

10、(%-4d%-16s%-56sn, G-vexsv.num, G-, G-roduction);查看各景點(diǎn)游覽路線(ShortestPath_DIJ):void ShortestPath_DIJ(MGraph * G)int v, w, i, min, t = 0, x, flag = 1, v0; /flag=1保證輸入編號(hào)有效int final20, D20, p2020;while (flag)printf(請(qǐng)輸入一個(gè)起始景點(diǎn)編號(hào):);scanf_s(%d, &v0); /輸入一個(gè)值賦給v0if (v0G-vexnum)printf(景點(diǎn)編號(hào)不存在!

11、請(qǐng)重新輸入景點(diǎn)編號(hào):);scanf_s(%d, &v0);if (v0 = 0 & v0vexnum)flag = 0;for (v = 0; vvexnum; v+)finalv = 0; /v不屬于s,即v頂點(diǎn)還沒有走過Dv = G-arcsv0v.adj; /v0到v的弧權(quán)值for (w = 0; wvexnum; w+)pvw = 0; /設(shè)置空路徑if (DvINFINITY)pvv0 = 1; pvv = 1; /v0是從v0到v的頂點(diǎn),v是從v0到v的頂點(diǎn)Dv0 = 0; finalv0 = 1; /初始化,v0到v0的帶權(quán)路徑長(zhǎng)度為0,最短路徑,v0頂點(diǎn)屬于s集for (i =

12、 1; ivexnum; imin = INFINITY; /當(dāng)前所知離v0頂點(diǎn)的最近距離for (w = 0; wvexnum; w+)if (!finalw) /w頂點(diǎn)在v-s中if (Dwmin) v = w; min = Dw; /w頂點(diǎn)離v0頂點(diǎn)更近finalv = 1; /離v0頂點(diǎn)最近的v加入s集for (w = 0; wvexnum; w+) /更新當(dāng)前的最短路徑及距離if (!finalw & (min + G-arcsvw.adjarcsvw.adj;for (x = 0; xvexnum; x+)pwx = pvx;pww = 1; /用來更新到每一個(gè)頂點(diǎn)的最短路徑for

13、 (v = 0; vvexnum; v+)if (v0 != v) printf(%s, G-); /輸出字符串for (w = 0; wvexnum; w+)if (pvw & w != v0) printf(-%s, G-);t+;if (tG-vexnum - 1 & v0 != v)printf( 總路線長(zhǎng)%dmnn, Dv);/ShortestPath_DIJ end選擇出發(fā)點(diǎn)和目的地(Floyd):void Floyd(MGraph *G)int v, u, i, w, k, j, flag = 1, p101010, D1010;for

14、(v = 0; vvexnum; v+) /各對(duì)結(jié)點(diǎn)之間初始已知路徑及距離for (w = 0; wvexnum; w+)Dvw = G-arcsvw.adj;for (u = 0; uvexnum; u+)pvwu = 0;if (DvwINFINITY)pvwv = 1; pvww = 1;for (u = 0; uvexnum; u+)for (v = 0; vvexnum; v+)for (w = 0; wvexnum; w+)if (Dvu + DuwDvw) /從v經(jīng)u到w的一條路徑更短Dvw = Dvu + Duw; /修改權(quán)值for (i = 0; ivexnum; i+)pv

15、wi = pvui | puwi;while (flag)printf(請(qǐng)輸入出發(fā)點(diǎn)和目的地的編號(hào):);scanf_s(%d%d, &k, &j);if (kG-vexnum | jG-vexnum)printf(景點(diǎn)編號(hào)不存在!請(qǐng)重新輸入出發(fā)點(diǎn)和目的地的編號(hào):);scanf_s(%d%d, &k, &j);if (k = 0 & kvexnum&j = 0 & jvexnum)flag = 0;printf(%s, G-);for (u = 0; uvexnum; u+)if (pkju & k != u&j != u)printf(-%s, G-);

16、printf(-%s, G-);printf( 總路線長(zhǎng)%dmn, Dkj);/Floyd end查看景點(diǎn)信息(Search):void Search(MGraph *G)int k, flag = 1;while (flag)printf(請(qǐng)輸入要查詢的景點(diǎn)編號(hào):);scanf_s(%d, &k);if (kG-vexnum)printf(景點(diǎn)編號(hào)不存在!請(qǐng)重新輸入景點(diǎn)編號(hào):);scanf_s(%d, &k);if (k = 0 & k vexnum)flag = 0;printf(%-4d%-16s%-56sn, G-vexsk.num, G-, G

17、-roduction);/Search end顯示圖的鄰接矩陣(print):void printMatrix(MGraph *G)int v, w, t = 0;printf(圖的鄰接矩陣為:n);for (v = 0; vvexnum; v+)for (w = 0; wvexnum; w+)if (G-arcsvw.adj = INFINITY)printf( );else printf(%-7d, G-arcsvw.adj);t+;if (t%G-vexnum = 0)printf(n);4.軟件測(cè)試校園全景:選擇出發(fā)點(diǎn)和目的地:鄰接矩陣:5.參考文獻(xiàn)嚴(yán)蔚敏吳偉民編著,

18、數(shù)據(jù)結(jié)構(gòu)(C語言版),清華大學(xué)出版社,2010年耿國(guó)華等.數(shù)據(jù)結(jié)構(gòu)C語言描述.西安:西安電子科技大學(xué)出版社,2002殷人昆.數(shù)據(jù)結(jié)構(gòu)用面向?qū)ο蠓椒ㄅcC+語言描述.北京:清華大學(xué)出版社,200756.代碼#include #include /頭文件#include#include#define INFINITY 10000 /*無窮大*/#define MAX_VERTEX_NUM 40#define MAX 40typedef struct ArCell /對(duì)弧的定義int adj; /路徑長(zhǎng)度ArCell, AdjMatrixMAX_VERTEX_NUMMAX_VERTEX_NUM; /一個(gè)

19、二維數(shù)組,數(shù)組里元素類型為整型typedef struct /圖中頂點(diǎn)表示主要景點(diǎn),存放景點(diǎn)的編號(hào)、名稱、簡(jiǎn)介等信息,char name30;int num;char introduction100;/簡(jiǎn)介infotype; /數(shù)據(jù)域typedef structinfotype vexsMAX_VERTEX_NUM; /頂點(diǎn)的數(shù)據(jù)域AdjMatrix arcs; /鄰接矩陣int vexnum, arcnum; /圖的當(dāng)前頂點(diǎn)數(shù)和弧數(shù)MGraph;MGraph b; /全局變量void cmd(void);MGraph CreatGraph(void); /void Menu(void); /

20、void Browser(MGraph *G); / void ShortestPath_DIJ(MGraph * G); /void Floyd(MGraph *G); /void Search(MGraph *G); /void printMatrix(MGraph *G); / void main(void) /定義主函數(shù)system(mode con: cols=100 lines=40);cmd(); /調(diào)用cmd()void cmd(void) /定義cmd()int i;b = CreatGraph();MGraph G;Menu();scanf_s(%d, &i);while

21、(i != 6)switch (i)case 1:system(cls); Browser(&b); Menu(); break;case 2:system(cls); ShortestPath_DIJ(&b); Menu(); break;case 3:system(cls); Floyd(&b); Menu(); break;case 4:system(cls); Search(&b); Menu(); break;case 5:system(cls); printMatrix(&b); Menu(); break;case 6:exit(1); break;default:break;s

22、canf_s(%d, &i); /輸入的值d賦給iMGraph CreatGraph(void) /初始化MGraph G;int i, j; = 10; /14個(gè)頂點(diǎn) = 16; /14條弧for (i = 0; i; i+)i.num = i; /第i個(gè)景點(diǎn)的編號(hào)為istrcpy_s(0.name, 北理圖書館); /strcpy的頭文件是string.hstrcpy_s(0.introduction, 圖書館是學(xué)校的文獻(xiàn)信息中心,是為學(xué)校教學(xué)的學(xué)術(shù)性機(jī)構(gòu)。);strcpy_s(1.name, 第一飯?zhí)?;strcpy_s(1.introduction, 位于田徑場(chǎng)對(duì)面,提供諸多款飯菜供學(xué)

23、生選擇。 );strcpy_s(2.name, 教工餐廳);strcpy_s(2.introduction, 臨近明德樓的一個(gè)餐廳,為師生們提供最便捷的伙食 );strcpy_s(3.name, 零食前線);strcpy_s(3.introduction, 位于學(xué)生住宅區(qū)中間地段,銷售各式零食以及日用產(chǎn)品 );strcpy_s(4.name, 第二飯?zhí)?;strcpy_s(4.introduction, 位于學(xué)生住宅中間地段,為附近的學(xué)生提供多樣的伙食選擇 );strcpy_s(5.name, 第三飯?zhí)?;strcpy_s(5.introduction, 位于學(xué)生住宅末尾地段,環(huán)境別具一格,也

24、是一種選擇 );strcpy_s(6.name, 快遞中心);strcpy_s(6.introduction, 學(xué)校成立的快遞服務(wù)中心,滿足廣大師生收發(fā)包裹的需求 );strcpy_s(7.name, 學(xué)生餐廳);strcpy_s(7.introduction, 位于快遞中心旁,為附近的學(xué)生提供多樣的伙食選擇 );strcpy_s(8.name, 游泳池);strcpy_s(8.introduction, 位于學(xué)校后山坡路段,擁有三個(gè)水池,于2014年10月建成。 );strcpy_s(9.name, 明德樓);strcpy_s(9.introduction, 廣大學(xué)生上課的地點(diǎn),分四棟教學(xué)樓

25、,各式教學(xué)設(shè)備都齊全。);for (i = 0; i; i+)for (j = 0; j; j+)ij.adj = INFINITY;01.adj = 420;02.adj = 480;12.adj = 80;13.adj = 410;14.adj = 220;19.adj = 700;23.adj = 50;29.adj = 550;35.adj = 190;45.adj = 320;56.adj = 100;57.adj = 120;58.adj = 210;67.adj = 50;78.adj = 120;89.adj = 300;for (i = 0; i; i+)for (j = 0

26、; j; j+)ji.adj = ij.adj; /無向網(wǎng)return G;void Menu() /定義主菜單printf( 北京理工大學(xué)珠海學(xué)院導(dǎo)游圖 n);printf( n);printf( 1.瀏覽校園全景 n);printf( 2.查看各景點(diǎn)所有游覽路線 n);printf( 3.選擇出發(fā)點(diǎn)和目的地 n);printf( 4.查看景點(diǎn)信息 n);printf( 5.顯示此圖的鄰接矩陣 n);printf( 6.退出系統(tǒng) n);printf( n);printf(選項(xiàng)-:);void Browser(MGraph *G)int v;printf(n);printf(編號(hào)景點(diǎn)名稱 簡(jiǎn)介

27、 n);for (v = 0; vvexnum; v+)printf(%-4d%-16s%-56sn, G-vexsv.num, G-, G-roduction);printf(n);/ 迪杰斯特拉算法來計(jì)算出起點(diǎn)到各個(gè)頂點(diǎn)之間的最短路徑,v0為起點(diǎn)void ShortestPath_DIJ(MGraph * G)int v, w, i, min, t = 0, x, flag = 1, v0; /flag=1保證輸入編號(hào)有效int final20, D20, p2020;/用迪杰斯特拉算法求網(wǎng)G的v0頂點(diǎn)到其余頂點(diǎn)v的最短路徑Pv及帶權(quán)長(zhǎng)度Dv/若Pvw

28、為1,則w是從v0到v當(dāng)前求得最短路徑上的頂點(diǎn)/finalv為1當(dāng)且僅當(dāng)v屬于s(s是已求得最短路徑的終點(diǎn)的集合),即已經(jīng)求得從v0到v的最短路徑while (flag)printf(請(qǐng)輸入一個(gè)起始景點(diǎn)編號(hào):);scanf_s(%d, &v0); /輸入一個(gè)值賦給v0if (v0G-vexnum)printf(景點(diǎn)編號(hào)不存在!請(qǐng)重新輸入景點(diǎn)編號(hào):);scanf_s(%d, &v0);if (v0 = 0 & v0vexnum)flag = 0;for (v = 0; vvexnum; v+)finalv = 0; /v不屬于s,即v頂點(diǎn)還沒有走過Dv = G-arcsv0v.adj; /v0到

29、v的弧權(quán)值for (w = 0; wvexnum; w+)pvw = 0; /設(shè)置空路徑if (DvINFINITY)pvv0 = 1; pvv = 1; /v0是從v0到v的頂點(diǎn),v是從v0到v的頂點(diǎn)Dv0 = 0; finalv0 = 1; /初始化,v0到v0的帶權(quán)路徑長(zhǎng)度為0,最短路徑,v0頂點(diǎn)屬于s集/開始主循環(huán),每次求得v0到某個(gè)v頂點(diǎn)的最短路徑,并加v到s集for (i = 1; ivexnum; i+) /其余個(gè)頂點(diǎn)min = INFINITY; /當(dāng)前所知離v0頂點(diǎn)的最近距離for (w = 0; wvexnum; w+)if (!finalw) /w頂點(diǎn)在v-s中if (D

30、wmin) v = w; min = Dw; /w頂點(diǎn)離v0頂點(diǎn)更近finalv = 1; /離v0頂點(diǎn)最近的v加入s集for (w = 0; wvexnum; w+) /更新當(dāng)前的最短路徑及距離if (!finalw & (min + G-arcsvw.adjarcsvw.adj;for (x = 0; xvexnum; x+)pwx = pvx;pww = 1; /用來更新到每一個(gè)頂點(diǎn)的最短路徑for (v = 0; vvexnum; v+)if (v0 != v) printf(%s, G-); /輸出字符串for (w = 0; wvexnum; w+)if (p

31、vw & w != v0) printf(-%s, G-);t+;if (tG-vexnum - 1 & v0 != v)printf( 總路線長(zhǎng)%dmnn, Dv);/ShortestPath_DIJ endvoid Floyd(MGraph *G)/用Floyd算法求圖中各對(duì)頂點(diǎn)v和w之間的最短路徑Pvw及其/帶權(quán)長(zhǎng)度Dvw。若Pvwu為1,則u是從v到w當(dāng)前求得最短/路徑上的頂點(diǎn)。int v, u, i, w, k, j, flag = 1, p101010, D1010;for (v = 0; vvexnum; v+) /各對(duì)結(jié)點(diǎn)之間初始已知路徑及距離for (w = 0; wvexnum; w+)Dvw = G-arcsvw.adj;for (u = 0; uvexnum; u+)pvwu = 0;if (DvwINFINITY)pvwv = 1; pvww = 1;for (u = 0; uvexnum

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論