グラフ / DFS(深さ優先探索)

深く行けるだけ進み、
行き止まりで戻る。

深さ優先探索は、1 本の道を深く追ってから戻る探索です。再帰またはスタックで実装できます。

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

目次

このページの目次

このページでわかること

先に知っておくポイント

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

概要

概要

深さ優先探索は、1 本の道を深く追ってから戻る探索です。再帰またはスタックで実装できます。

考え方

擬似コード

visit node
for each unvisited neighbor
  dfs(neighbor)

要点

要点まとめ

時間計算量

O(V + E)

空間計算量

O(V)

構造

Stack / Recursion

用途

全探索, SCC の基礎

補足

向いている場面と注意点

特徴

近さより深さを優先します。

BFS との違い

順序がかなり変わります。

教え方

探索木と戻りをセットで見せるとよいです。

動きで確認

動きを見てたしかめる

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

注目候補確定

次に見る

次に見るページ

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