圖的應用______深度優(yōu)先_和_廣度優(yōu)先搜索遍歷

圖的應用______深度優(yōu)先_和_廣度優(yōu)先搜索遍歷

ID:38695945

大?。?09.50 KB

頁數(shù):6頁

時間:2019-06-17

圖的應用______深度優(yōu)先_和_廣度優(yōu)先搜索遍歷_第1頁
圖的應用______深度優(yōu)先_和_廣度優(yōu)先搜索遍歷_第2頁
圖的應用______深度優(yōu)先_和_廣度優(yōu)先搜索遍歷_第3頁
圖的應用______深度優(yōu)先_和_廣度優(yōu)先搜索遍歷_第4頁
圖的應用______深度優(yōu)先_和_廣度優(yōu)先搜索遍歷_第5頁
資源描述:

《圖的應用______深度優(yōu)先_和_廣度優(yōu)先搜索遍歷》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、華##############學院數(shù)據(jù)結構實驗報告2011~2012學年第二學期2011級計算機專業(yè)班級:學號:姓名:實驗四圖的應用一、實驗題目:圖的應用——深度優(yōu)先/廣度優(yōu)先搜索遍歷二、實驗內容:很多涉及圖上操作的算法都是以圖的遍歷操作為基礎的。試編寫一個算法,實現(xiàn)圖的深度優(yōu)先和廣度優(yōu)先搜索遍歷操作。要求:以鄰接矩陣或鄰接表為存儲結構(學號為單號的同學以鄰接矩陣為存儲結構,雙號的同學以鄰接表為存儲結構)建立無向連通圖,從鍵盤上輸入指定的頂點為起始點,實現(xiàn)圖的深度優(yōu)先及廣度優(yōu)先搜索遍歷,并輸出遍歷的結點序列。提示:首先,根

2、據(jù)輸入的頂點總數(shù)和邊數(shù),構造無向圖,然后以輸入的頂點為起始點,進行深度優(yōu)先、廣度優(yōu)先搜索遍歷,并輸出遍歷的結果。三、程序源代碼:#definemaxvex100#includetypedefstructedgenode{intadjvex;intvalue;edgenode*next;}ArcNode;typedefstructvexnode{chardata;ArcNode*firstarc;}VHeadNode;typedefstruct{intn,e;VHeadNodeadjlist[maxv

3、ex];第6頁共6頁}AdjList;intCreateAdjList(AdjList*g);voidshowAdjList(AdjList*g);voidBFS(AdjList*g,intvi);voidDFS(AdjList*g,intvi,intvisited[]);voidmain(){AdjListg;CreateAdjList(&g);}voidDFS(AdjList*g,intvi,intvisited[maxvex]){ArcNode*p;visited[vi]=1;cout<ad

4、jlist[vi].firstarc;while(p){if(visited[p->adjvex]==0)DFS(g,p->adjvex,visited);p=p->next;}}voidBFS(AdjList*g,intvi){inti,v,visited[maxvex];intqu[maxvex],front=0,rear=0;ArcNode*p;for(i=0;in;i++)visited[i]=0;visited[vi]=1;第6頁共6頁cout<

5、u[rear]=vi;while(front!=rear){front=(front+1)%maxvex;v=qu[front];p=g->adjlist[v].firstarc;while(p){if(visited[p->adjvex]==0){visited[p->adjvex]=1;cout<adjvex<<"";rear=(rear+1)%maxvex;qu[rear]=p->adjvex;}p=p->next;}}}//顯示創(chuàng)建的無向圖voidshowAdjList(AdjList*g){inti;Ar

6、cNode*p;cout<<"圖的鄰接表表示如下"<n;i++){第6頁共6頁cout<<"["<adjlist[i].data<<"]=>";p=g->adjlist[i].firstarc;while(p){cout<<"("<adjvex<<","<value<<")->";p=p->next;}cout<<"NULL"<

7、cNode*p,*q;g=newAdjList;cout<<"輸入頂點數(shù)(n),邊數(shù)(e)"<>g->n>>g->e;for(i=0;in;i++){cout<<"序號為"<>g->adjlist[i].data;g->adjlist[i].firstarc=NULL;}for(i=0;ie;i++){cout<<"序號為"<";cout<<"起點序號終點序號權值:";cin>>b>>t>>w;第6頁共6頁if(b<0

8、

9、b>g->n){

10、cout<<"輸入的節(jié)點不存在"<

11、

12、t>g->n){cout<<"輸入的節(jié)點不存在"<value=w;p->adjvex=t;p->next=g->adjlist[b].firstarc;g->ad

當前文檔最多預覽五頁,下載文檔查看全文

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

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