1. 程式人生 > >BFS(廣度優先搜索)

BFS(廣度優先搜索)

算法 ear 表示 如果 沒有 遍歷 bsp 否則 訪問

廣度優先搜索算法(Breadth-First-Search),是一種圖形搜索算法。

簡單的說,BFS是從根節點開始,沿著樹(圖)的寬度遍歷樹(圖)的節點。如果所有節點均被訪問,則算法中止。BFS同樣屬於盲目搜索。一般用隊列數據結構來輔助實現BFS算法。

算法步驟:

1. 首先將根節點放入隊列中。

2. 從隊列中取出第一個節點,並檢驗它是否為目標。如果找到目標,則結束搜尋並回傳結果。否則將它所有尚未檢驗過的直接子節點加入隊列中。

3. 若隊列為空(即所有節點都已檢查),表示整張圖都檢查過了——即圖中沒有欲搜尋的目標。結束搜尋並回傳“找不到目標”。

4. 重復步驟2。

BFS(廣度優先搜索)