雙向廣度優(yōu)先搜索算法_第1頁(yè)
雙向廣度優(yōu)先搜索算法_第2頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

雙向廣度優(yōu)先搜索算廣度雙向搜索的概廣度雙向搜索c:array[0..1,1..maxn]ofnode,head:array[0..1]ofintegertail:array[0..1]ofinteger分別表示正向和逆向的尾指針。if(tail[0]<=tail[1])andnot((head[0]>tail[0])or(tail[0]>=maxn))thenexpand(0);if(tail[1]<=tail[0])andnot((head[1]>tail[1])or(tail[1]>=maxn))thenifnot((head[0]>tail[0])or(tail[0]>=maxn))thenexpand(0);ifnot((head[1]>tail[1])or(tail[1]>=maxn))thenUntil while(i<=maxk)and(tail[st]<maxn)do i:=1;flag:=true;whileflagand(I<tail[st])doifc[st,tail[st]].*=c[st,i].*thenbegin flag:=false;dec(tail[st]);exitend;ifflagthenencounter(st);{判斷是否相遇fori:=1totail[1-st]ifc[st,tail[st]].*=c[1-st,i].* ifst=0thenbeginprint0(tail); print1(k);end;elsebegin print1(tail); ifm<>0thenbeginprint0(c[0,m].f);輸出c[0,m].*;wrin;end;7.print1(m)程序代碼;{輸出反方向上產(chǎn)生的結(jié)點(diǎn)}while 輸出c[1,n].*;wri 例題與33180找到一種移動(dòng)步數(shù)最少的方法,實(shí)現(xiàn)從初始布局到目標(biāo)布局的轉(zhuǎn)變,。yd:array[1..4]ofshortint=(-1,1,-c:array[0..1,1..maxn]ofnode;head,tail:array[fx]ofinteger;procedurefileini;procedureini;fori:=1to6dobeginifi<=3thenstart:=start+tempelsegoal:=goal+temp;fori:=0to1dowithc[i,head[i]]dobeginifi=0thenzt:=startelseifi=0thenkong:=pos('0',start)elseprocedureszsc(s:ztstr);fori:=1to9dobeginifimod3=0thenwrin;procedureprint0(m:integer);ifm<>0thenbeginprocedureprint1(m:integer);whilen<>0dobeginprocedureprint(st,tail,k:integer);ifst=0thenbeginelsebegin{wrin(step);}procedureencounter(st:fx);fori:=1totail[1-st]ifc[st,tail[st]].zt=c[1-st,i].ztthenprint(st,tail[st],i);procedurecheck(st:fx);i:=1;whileflagand(i<=tail[st]-1)doifc[st,tail[st]].zt=c[st,i].ztthenbeginifflagthenencounter(st);procedureexpand(st:fx);while(i<=maxk)and(tail[st]<maxn)doif(temp+yd[i]in[1..9])andnot((i=1)and(tempmod3=1))andnot((i=2)and(tempmod3=0))andnot((i=3)and(temp<=3))andnot((i=4)and(temp>6))thenbeginwithc[st,tail[st]]dobeginif(tail[0]<tail[1])andnot((head[0]>tail[0])or(tail[0]>=maxn))thenexpand(0);if(tail[1]<tail[0])andnot((head[1]>tail[1])or(tail[1]>=maxn))thenexpand(1);ifnot((head[0]>tail[0])or(tail[0]>=maxn))thenexpand(0);ifnot((head[1]>tail[1])or(tail[1]>=maxn))thenuntil((head[0]>tail[0])or(tail[0]>=maxn))and((head[1]>tail[1])or(tail[1]>=maxn));A$,B$(6):A1$->B1$A2$->A$A1$B1$、A2$B2$例如:A$='abcd'B$='xyz'‘a(chǎn)bc’->‘xu’‘ud’->‘y’‘y’-則此時(shí),A$B$,其變換的過(guò)程為:A$B$。A$A1$B1$A2$ | 20。10(10A$B$"NOANSWER!"abcdxyzabc

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論