版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
8.3橫向優(yōu)先搜尋(breadthfirstsearch)問題:對(duì)於一個(gè)圖G=(V,E),任給兩個(gè)頂點(diǎn)i,j,試找一條連接頂點(diǎn)i與頂點(diǎn)
j的最短路徑。如果前面有路可以走,記錄所有可以走的路徑,依目前所有可以走的路徑再更進(jìn)一步找所有可以走的路徑,直到找到目的地,不然,找遍所有路徑也找不到目的地。利用橫向優(yōu)先的方式來尋找最短路徑,橫向優(yōu)先的基本精神是:例:一個(gè)簡(jiǎn)單圖如下所示。v0v1v6v3v5v7v2v4v8試找一條連接頂點(diǎn)0與頂點(diǎn)
7的最短路徑。依該圖的adjacencymatrix或adjacencylist由v0
可以走到v1、v2、v3及v6,以圖表示如下:v0v1v6v3v5v7v2v4v8走訪過的頂點(diǎn)以白色顯示,藍(lán)色的點(diǎn)表示已經(jīng)處理完成。以箭頭表示parent與child(先走到與後走到)的關(guān)係。v1無(wú)路可走。v2可以走到v4與v5。
v3可以走到v4
與v7,但v4
已經(jīng)走訪過了。目的地v7
找到了,可以停止搜尋。(v6無(wú)路可走,可以省略不必搜尋。)由目的地v7
沿著箭頭走向v3,再走向v0。<v0,v3,v7>就是一條最短路徑。v0v1v6v3v5v7v2v4v8以程式來處理路徑搜尋的問題,我們需要:一個(gè)adjacencylistL。visit103254768000000000parent103254768-1-1-1-1-1-1-1-1-1q8017263541236004060345246723578243413adjacencylistL
一個(gè)佇列q,每Dequeue
一次,取得一個(gè)頂點(diǎn)v,所有與v相鄰且未走訪的頂點(diǎn)全部Enqueue
到佇列q。一個(gè)陣列visit記錄頂點(diǎn)尚未走訪、走訪過與處理完成的資料,分別以0,1,2表示。一個(gè)陣列parent[k]記錄走訪頂點(diǎn)k之前的位置。例:由下列簡(jiǎn)單圖找一條連接頂點(diǎn)0與頂點(diǎn)7的最短路徑。v0v1v6v3v5v7v2v4v8先將頂點(diǎn)0Enqueue
到佇列q。visit103254768000000000q0parent103254768-1-1-1-1-1-1-1-1-1註明頂點(diǎn)0是已經(jīng)走訪的頂點(diǎn),即visit[0]=1。1頂點(diǎn)0是起點(diǎn)沒有parent,即parent[0]=-1。由佇列q執(zhí)行Dequeue,取得頂點(diǎn)0,將visit[0]改成2。由adjacencylistL,可以找到頂點(diǎn)1,2,3,6,與頂點(diǎn)0相鄰。visit103254768100000000parent103254768-1-1-1-1-1-1-1-1-18017263541236004060345246723578243413adjacencylistL頂點(diǎn)1,2,3,6,的visit[0]皆為0,即皆未走訪。將頂點(diǎn)1,2,3,6,Enqueue
到佇列上,同時(shí)將visit[]值改成1。並將頂點(diǎn)1,2,3,6,的parent改成0。2q00123611110000由佇列q執(zhí)行Dequeue,取得頂點(diǎn)1,將visit[1]改成2。由adjacencylistL,可以找到頂點(diǎn)0,6,與頂點(diǎn)1相鄰。visit103254768200001111parent103254768-1-1-1-1-100008017263541236004060345246723578243413adjacencylistL頂點(diǎn)0,6,的visit[]值皆不為0,即已走訪。q123612由佇列q執(zhí)行Dequeue,取得頂點(diǎn)2,將visit[2]改成2。由adjacencylistL,可以找到頂點(diǎn)0,3,4,5與頂點(diǎn)2相鄰。visit103254768200002111parent103254768-1-1-1-1-100008017263541236004060345246723578243413adjacencylistL頂點(diǎn)0,3,的visit[]值皆不為0。頂點(diǎn)4,5的visit[]值皆為0,即未走訪。q23622將頂點(diǎn)4,5Enqueue
到佇列上,同時(shí)將visit[]值改成1。並將頂點(diǎn)4,5的parent改成2。411225由佇列q執(zhí)行Dequeue,取得頂點(diǎn)3,將visit[3]改成2。由adjacencylistL,可以找到頂點(diǎn)0,2,4,6,7與頂點(diǎn)3相鄰。visit103254768211002121parent103254768-122-1-100008017263541236004060345246723578243413adjacencylistL頂點(diǎn)0,2,4,6的visit[]值皆不為0。頂點(diǎn)7的visit[7]值皆為0,即未走訪。2將頂點(diǎn)7Enqueue
到佇列上,同時(shí)將visit[7]值改成1。並將頂點(diǎn)7的parent改成3。頂點(diǎn)7為目的地,搜尋至此結(jié)束。13q364537visit103254768211012221parent103254768-122-1300008017263541236004060345246723578243413adjacencylistL頂點(diǎn)7為目的地,由陣列parent可以追查出最短路徑。q6457頂點(diǎn)7的parent是3。頂點(diǎn)3的parent是0。頂點(diǎn)0的parent是-1。由此可得最短路徑是<0,3,7>。scanf(“%d%d”,&i,&j);foundGoal=FALSE;Enqueue(i);visit[i]=1;while(!foundGoal){
if(isQueueEmpty())break;current=Dequeue();
currNode=L[current];
while(currNode!=NULL){k=currNode->vertex;
if(visit[k]==0){
Enqueue(k);
visit[k]=1;parent[k]=current;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 屋里尖尖角課件
- 西京學(xué)院《影視鑒賞》2023-2024學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《數(shù)據(jù)采集與預(yù)處理》2022-2023學(xué)年期末試卷
- 孝親敬老,從我做起
- 西京學(xué)院《機(jī)器學(xué)習(xí)》2023-2024學(xué)年期末試卷
- 2024-2025學(xué)年高二物理舉一反三系列1.4質(zhì)譜儀和回旋加速器((含答案))
- 爆米花課件背景
- Module 4單元備課(說課稿)-2024-2025學(xué)年外研版(一起)英語(yǔ)三年級(jí)上冊(cè)
- 西昌學(xué)院《土地評(píng)價(jià)學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 天然氣凈化高級(jí)單選題復(fù)習(xí)試題有答案
- 河北省地圖介紹模板
- 全國(guó)職業(yè)英語(yǔ)技能大賽選拔賽職場(chǎng)應(yīng)用樣題
- 設(shè)備安全運(yùn)行檢查評(píng)分表
- 工程維修派工單格式
- 倉(cāng)庫(kù)收貨臺(tái)賬
- 木結(jié)構(gòu)設(shè)計(jì)規(guī)范
- 電子公章模板
- 小學(xué)音樂人音四年級(jí)上冊(cè)(2023年新編)第5課童心-《蕩秋千》教學(xué)設(shè)計(jì)
- 四年級(jí)數(shù)學(xué)上冊(cè)課件-8. 沏茶 -人教版(共14張PPT)
- 計(jì)算書水泵耗電輸冷比
- 四年級(jí)英語(yǔ)上冊(cè)課件-Unit 4 My home Lets learn -人教PEP版(共20張PPT)
評(píng)論
0/150
提交評(píng)論