6 2廣度優先搜尋

2021-10-02 07:07:54 字數 1069 閱讀 9479

//儲存入度為0的節點

int next[

3]=;

int maze[50]

[50][

50];//存放座標資訊

bool mark[50]

[50][

50];//標記陣列,一旦處理完就標記其位置為true

intbfs

(int a,

int b,

int c)

}return-1

;//所有狀態都找完都未找到出口座標,返回-1

}int

main()

while

(!q.

empty()

) q.

pop();

//清空佇列

mark[0]

[0][

0]=true

;//標記出發節點

node tmp;

tmp.x=tmp.y=tmp.z=tmp.t=0;

q.push

(tmp)

;//出發節點進棧

int rec=

bfs(a,b,c);if

(rec<=t&&rec!=-1

)printf

("%d\n\n"

,rec)

;else

printf

("-1\n\n");

}return0;

}1

3 3 4 20

0 1 1 1

0 0 1 1

0 1 1 1

1 1 1 1

1 0 0 1

0 1 1 1

0 0 0 0

0 1 1 0

0 1 1 0

搜尋 廣度優先搜尋

廣度優先搜尋一層一層地進行遍歷,每層遍歷都是以上一層遍歷的結果作為起點,遍歷乙個距離能訪問到的所有節點。需要注意的是,遍歷過的節點不能再次被遍歷。class solution,int shortestpathbinarymatrix vectorint grid length return 1 cl...

廣度優先搜尋

include include include include using namespace std struct node 圖頂點結構定義 typedef struct node graph 圖形的結構新型態 struct node head 9 圖形頂點陣列 int visited 9 遍歷標...

廣度優先搜尋

廣度優先搜尋詳解 1.也稱寬度優先搜尋,顧名思義,就是將一棵樹一層一層往下搜。演算法首先搜尋和s距離為k的所有頂點,然後再去搜尋和s距離為k l的其他頂點。bfs是一種完備策略,即只要問題有解,它就一定可以找到解。並且,廣度優先搜尋找到的解,還一定是路徑最短的解。但是它盲目性較大,尤其是當目標節點距...