How it works?
Coddyの「幅優先探索 - グラフアルゴリズム」コースのレッスン 3/9。
BFSは頂点ごとにvisited(訪問済み)マーカーを保持し、処理する頂点のqueue(キュー)を管理します。
ステップバイステップのプロセス:
- 開始頂点を訪問済みとしてマークし、キューに追加(enqueue)します。
- キューの先頭の頂点を取り出し(dequeue)、訪問順序に記録します。
- 未訪問の隣接する各頂点(昇順)について、訪問済みとしてマークし、キューに追加します。追加時にマークすることで、同じ頂点が2回追加されるのを防ぎます。
- キューが空になるまで繰り返します。
頂点 0..3、エッジ [0,1, 0,2, 1,3, 2,3]、0から開始する場合の例:
- 0を訪問し、1と2をキューに追加。1を訪問し、3をキューに追加。2を訪問。3を訪問。
- 訪問順序: [0, 1, 2, 3] (DFSの [0, 1, 3, 2] と比較してください)。
自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
幅優先探索 - グラフアルゴリズムのすべてのレッスン
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)