02年05月14日廣度優(yōu)先搜索算法_第1頁
02年05月14日廣度優(yōu)先搜索算法_第2頁
02年05月14日廣度優(yōu)先搜索算法_第3頁
02年05月14日廣度優(yōu)先搜索算法_第4頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、廣度優(yōu)先搜索算法深度優(yōu)先與廣度優(yōu)先深度優(yōu)先的特點是在每一個多岔路口,如果能找到一條路往下走,就走,而不管別的路是否也能走下去,直到到達(dá)終點或無路可走時回溯。所以利用深度優(yōu)先搜索,只要有路,總能找到,但找到的那條并不一定是最優(yōu)的。廣度優(yōu)先的特點是在每一個多岔路口,都要把所有的路都嘗試一下,直到到達(dá)終點。所以利用廣度優(yōu)先搜索,只要有路,也總能找到,而且一旦找到,一定是最優(yōu)解(也即最少步驟)。 例:八數(shù)碼難題。在33的棋盤上,擺有八個棋子,每個棋子上標(biāo)有18的某一數(shù)字,棋盤中還有一個空格,空格周圍的棋子可以移至空格中?,F(xiàn)有給出的一種初始布局(初始狀態(tài))如圖和目標(biāo)布局(目標(biāo)狀態(tài))如圖。找出一種最少步驟

2、的移動方法,實現(xiàn)從初始布局到目標(biāo)布局的轉(zhuǎn)變,編程打印出每一步的狀態(tài)。2318476512384765初始狀態(tài)目標(biāo)狀態(tài)23184765283147652318476523184765123847652341876528314765283147652831647512384765本程序所要用到的數(shù)據(jù)結(jié)構(gòu):1、結(jié)點數(shù)據(jù)(記錄類型) type a33=array1.3,1.3 of byte; node=record mode:a33; fa:byte; end; 2、用做廣度優(yōu)先搜索的樹(用數(shù)據(jù)來表示)A:array1.100 of node;3、一些重要的變量和常量:Open:integer; 用

3、來表示當(dāng)前所擴展到的結(jié)點。close:integer; 用來表示當(dāng)前所被擴展的結(jié)點。fxx:array1.4=(0,-1,0,1);fxy:arrray1.4=(-1,0,1,0);整體結(jié)構(gòu) 框圖:初始close=0I1 to 4open open+1生成子節(jié)點;aopen .mode?Aopen.faclose不滿足條件或與前面節(jié)點重復(fù)ynopen open-1成功達(dá)到目標(biāo)ynPrint 打印Exit 退出close close+1 父結(jié)點指針加1Until close=open初始化過程init:open 1; close 1i 1 to nj 1 to nRead(a1.modeI,j)

4、A1.fa 0i 1 to 3j 1 to 3Aclose.modeI,j=0ynk 1 to 4 4個方向i1 I+fxxk; j1 j+fxyk是否超界yn創(chuàng)建新結(jié)點是否是重復(fù)結(jié)點ny添加此結(jié)點,判斷是否目標(biāo)是目標(biāo)yn打??; 退出close close+1Until (close=open)創(chuàng)建新結(jié)點: (放在buffer里)buffer aclose.modeBufferI,j bufferi1,j1Bufferi1,j1 0添加新結(jié)點:Inc(open);Aopen.mode buffer;Aopen.fa close;判斷是否目標(biāo):kk 0ii 1 to njj 1 to nAopen.modeii,jj=bii,jjynkk kk+1kk=9yn是目標(biāo)不是目標(biāo)k 1 to openq truei 1 to nj 1 to nModeI,jak.modeI,jynq false; i n; j nqynsame true; exit;same false判斷是否是重復(fù)結(jié)點:打印函數(shù)(遞歸打?。簂 =0 根結(jié)點?

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論