廣度優先搜尋可以形象化為「淺嘗輒止」,可以理解為雷達,訊號是一圈一圈的進行發射,即對於每乙個頂點我只訪問該頂點的臨近點,找出臨近點的的所有情況,並且用佇列儲存起來。
#include
#include
using
namespace std;
int a[51]
[51]=
;int book[51]
[51]=
;int sizex,sizey,tx,ty,p,q,flag=0;
struct note
;struct note que[
2501];
int head,tail;
void
bfs(
int tx,
int ty),,
,}; que[tail]
.x =tx;
que[tail]
.y =ty;
que[tail]
.s =0;
tail++
; book[tx]
[ty]=1
;while
(head
if(tx==p&&ty==q)}if
(flag==1)
head++;}
}int
main()
}bfs
(tx,ty)
; cout<
.s;}
解救小哈 廣度優先搜尋bfs
有一天,小哈乙個去玩迷宮。但是方向感很不好的小哈很快就迷路了。小哼得知後便立即去解救無助的小哈。小哼當然是有備而來,已經弄清楚了迷宮地圖,現在小哼要以最快速度去解救小哈。問題就此開始了 迷宮由n行m列的單元格組成,每個單元格要麼是空地,要麼是障礙物。你的任務是幫助小哼找到一條從迷宮的起點到小哈所在位...
深度優先搜尋 廣度優先搜尋(解決小哈)
問題省略 思路 讓小哼往右邊走,直到走不通的時候再回到這裡,再去嘗試另乙個方向。規定乙個順序,按順時針方向來嘗試 即按照右 下 左 上的順序去嘗試 先 檢查小哼是否已經到達小哈的位置,如果沒有到達則找出下一步可以走的地方。為了解決這個問題,此處dfs 函式只需要維護3個引數,分別是x座標 y座標 以...
解救小哈(深度搜尋)
本題可以用深度搜尋,也可以用廣度搜尋,相對來說,廣度搜尋更加簡潔,但是為了學習深度搜尋,故本題採用深度搜尋。思路 依然是使用遞迴,一步一步向前試探,試探後再回溯,最後比較結果,即可得出答案。如下 include define max n 100 define max m 100 inta max n...