圖的深度廣度遍歷和最短路徑問題(迪杰斯特拉算法實(shí)現(xiàn)).doc

圖的深度廣度遍歷和最短路徑問題(迪杰斯特拉算法實(shí)現(xiàn)).doc

ID:51849046

大?。?17.50 KB

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

時(shí)間:2020-03-16

圖的深度廣度遍歷和最短路徑問題(迪杰斯特拉算法實(shí)現(xiàn)).doc_第1頁(yè)
圖的深度廣度遍歷和最短路徑問題(迪杰斯特拉算法實(shí)現(xiàn)).doc_第2頁(yè)
圖的深度廣度遍歷和最短路徑問題(迪杰斯特拉算法實(shí)現(xiàn)).doc_第3頁(yè)
圖的深度廣度遍歷和最短路徑問題(迪杰斯特拉算法實(shí)現(xiàn)).doc_第4頁(yè)
圖的深度廣度遍歷和最短路徑問題(迪杰斯特拉算法實(shí)現(xiàn)).doc_第5頁(yè)
資源描述:

《圖的深度廣度遍歷和最短路徑問題(迪杰斯特拉算法實(shí)現(xiàn)).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、實(shí)驗(yàn)報(bào)告課程名稱數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)項(xiàng)目圖的深度廣度遍歷和最短路徑實(shí)驗(yàn)儀器計(jì)算機(jī)學(xué)生姓名徐申毅實(shí)驗(yàn)日期2013-6-7成績(jī)實(shí)驗(yàn)1一?、實(shí)驗(yàn)?zāi)康睦斫鈭D的深度和廣度遍歷,能利用迪杰斯特拉算法求出最短路徑二、?實(shí)驗(yàn)內(nèi)容編寫能求解圖的深度和廣度遍歷和最短路徑的程序三、實(shí)驗(yàn)課時(shí)4課時(shí)共23頁(yè)第22頁(yè)四、實(shí)驗(yàn)步驟(1)利用鄰接矩陣實(shí)現(xiàn)圖的存儲(chǔ)(2)利用棧實(shí)現(xiàn)圖的深度遍歷(3)利用隊(duì)列實(shí)現(xiàn)圖的廣度遍歷(4)用迪杰斯特拉算法求圖的最短路徑(5)編寫主函數(shù)(6)編譯,調(diào)試,運(yùn)行五、實(shí)驗(yàn)心得本次實(shí)驗(yàn)讓我學(xué)會(huì)了利用棧和隊(duì)列的數(shù)據(jù)結(jié)

2、構(gòu)實(shí)現(xiàn)圖的深度和廣度遍歷,能用迪杰斯特拉算法求出無向網(wǎng)的最短路徑。六、程序運(yùn)行結(jié)果截圖以及C程序源代碼#include#include#defineINFINITY65535#defineMAXVEXNUM20typedefstructArcCell{intadj;//int(VRType)是頂點(diǎn)關(guān)系類型。char*info;//該弧相關(guān)信息的指針}ArcCell,AdjMatrix[MAXVEXNUM][MAXVEXNUM];typedefstruct{共23頁(yè)

3、第22頁(yè)charvexs[MAXVEXNUM][4];AdjMatrixarcs;intvexnum,arcnum;}MGraph;#defineQUEUE_INIT_SIZE100#defineQUEUEINCREMENT10typedefintQElemType;typedefstruct{QElemType*elem;intfront;intrear;intqueuesize;intincrementsize;}SqQueue;共23頁(yè)第22頁(yè)#include#include<

4、stdlib.h>voidInitQueue_Sq(SqQueue*Q,intn){Q->elem=(QElemType*)malloc((QUEUE_INIT_SIZE+1)*sizeof(QElemType));Q->queuesize=n;Q->incrementsize=QUEUEINCREMENT;Q->front=Q->rear=0;}intQueueLength_Sq(SqQueueQ){return(Q.rear-Q.front+Q.queuesize)%Q.queuesize;}in

5、tDeQueue_Sq(SqQueue*Q,QElemType*e){if(Q->front==Q->rear)return0;*e=Q->elem[Q->front];共23頁(yè)第22頁(yè)Q->front=(Q->front+1)%Q->queuesize;return1;}voidincrementQueuesize(SqQueue*Q){QElemType*a;intk;a=(QElemType*)malloc((Q->queuesize+Q->incrementsize)*sizeof(QElem

6、Type));for(k=0;kqueuesize-1;k++)a[k]=Q->elem[(Q->front+k)%Q->queuesize];free(Q->elem);Q->elem=a;Q->front=0;Q->rear=Q->queuesize-1;Q->queuesize+=Q->incrementsize;}voidEnQueue_Sq(SqQueue*Q,QElemTypee)共23頁(yè)第22頁(yè){if((Q->rear+1)%Q->queuesize==Q->front)incr

7、ementQueuesize(Q);Q->elem[Q->rear]=e;Q->rear=(Q->rear+1)%Q->queuesize;}intGetQueue_Sq(SqQueueQ,QElemType*e){if(Q.front==Q.rear)return0;*e=Q.elem[Q.front];return1;}intQueueEmpty(SqQueueQ){if(Q.front==Q.rear)return1;共23頁(yè)第22頁(yè)elsereturn0;}intvisited[MAXVEXN

8、UM];intLocateVex(MGraph*G,charv[4]){inti=0;while(ivexnum){if(strcmp(G->vexs[i],v)==0)returni;i++;}printf("輸入的頂點(diǎn)不存在!");return0;}voidDFS(MGraph*G,inti)共23頁(yè)第22頁(yè){intj;printf("%7s",G->vexs[i]);visited[i]=1;for(j=0;jvexnum;j+

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

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(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)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。