簡單的BFS學習筆記

2021-07-27 10:18:21 字數 711 閱讀 7852

什麼是bfs

傳送門。

今天學習bfs,加油!

先定義個陣列:

struct node;

int map[5][4]=;

node queue[25];  //佇列

bfs關鍵的是佇列。

下面寫個函式用於入隊操作:

int rudui(int a,int b)//入隊 

//邊界控制

if(book[a][b]==0 && map[a][b]!=3)//可以入隊

if(map[a][b]==2)

return 0;

}

有了以上工具,我們開始工作:

int main()

;int map[5][4]=;

int book[5][4]=;

node queue[25];

int head=0,tail=1;

int rudui(int a,int b)//入隊

//邊界控制

if(book[a][b]==0 && map[a][b]!=3)//可以入隊

if(map[a][b]==2)

return 0;

}int main()

{ while(head2015-03-24 15:47:29

學習筆記 雙向BFS

雙向bfs就是在一直當前狀態和期望狀態時,從當前和期望兩個狀態同時出發,直到某個狀態同時被訪問到兩次,那麼當前狀態 被訪問兩次的狀態 目標狀態就是當前狀態到目標狀態的解。那具體會有多塊呢?加入每一次搜尋都有n個新的狀態 比如迷宮問題就是上下左右四個狀態 從起點到目標路徑長為m,那就要搜尋n n 2 ...

學習筆記 DFS與BFS

這是oi競賽中兩個基礎演算法,在此做乙個簡略的總結 全名深度優先搜尋,顧名思義,是深度優先,一條路走到黑的做法 樹 圖論相關的問題中常用到dfs dfsdf s遍歷處理資訊 演算法用處 全名寬度優先搜尋 一般的套路是設定狀態,既然是寬度優先,那麼同乙個狀態越早到達越優 所以時空複雜度都是狀態總數,常...

BFS與DFS學習筆記

維基 廣度優先搜尋演算法 英語 breadth first search,縮寫為bfs 又譯作寬度優先搜尋,或橫向優先搜尋,是一種圖形搜尋演算法。簡單的說,bfs是從根節點開始,沿著樹的寬度遍歷樹的節點。如果所有節點均被訪問,則演算法中止。深度優先搜尋演算法 英語 depth first searc...