グラフ / BFS(幅優先探索)

近い順に広げる探索。

幅優先探索は、始点からの距離が近い順に探索を進めます。キューを使うのが本質です。

グラフノードとエッジ可視化向き

目次

このページの目次

このページでわかること

先に知っておくポイント

1. どの頂点が注目か
2. 候補集合がどう変わるか
3. なぜ次の頂点や辺を選ぶか

概要

概要

幅優先探索は、始点からの距離が近い順に探索を進めます。キューを使うのが本質です。

考え方

擬似コード

enqueue start
while queue not empty
  pop front
  enqueue unvisited neighbors

要点

要点まとめ

時間計算量

O(V + E)

空間計算量

O(V)

構造

Queue

用途

最短距離(重みなし)

補足

向いている場面と注意点

特徴

1 手先、2 手先という順番で広がります。

見せ方

frontier を青、訪問済みを灰で出すとわかりやすいです。

用途

重みなしグラフの最短経路と相性がよいです。

動きで確認

動きを見てたしかめる

ここでは「どの頂点が注目か」を見ながら、上で読んだ内容を動きと結びつけます。

注目候補確定

次に見る

次に見るページ

比較すると違いがわかりやすいページを先に置いています。