IT用語集 › プログラミング › DFS(深さ優先探索)

DFS(深さ優先探索)

プログラミング Svenska → 更新: 2026-10-21

グラフ走査アルゴリズム。各枝をできるだけ深く進み、行き止まりで引き返す。再帰またはスタックで実装する。

用途はトポロジカルソート、閉路検出、連結成分の発見、迷路の解法、コンパイラのパスなど。TarjanのSCCや橋検出のアルゴリズムはDFSの上に成り立っている。BFSとの違いは、使うメモリが少ない(深さ d に対し O(d))が、最短経路は見つからない点だ。スタックによる反復版DFSなら、深いグラフでもスタックオーバーフローを避けられる。git log はコミットのDAGをDFSでたどる。

← 用語集に戻る