深さ優先探索とは?探索アルゴリズムの仕組みを分かりやすく解説
深さ優先探索(Depth-First Search、DFS)は、グラフやツリー構造を探索するアルゴリズムの一種です。このアルゴリズムでは、探索の際に一つの経路に沿ってできる限り深く進みます。
深さ優先探索の仕組みは、スタック(後入れ先出しの構造)と呼ばれるデータ構造を使用します。スタックには、まだ探索されていない頂点(ノード)を格納します。探索は、現在の頂点からまだ探索されていない隣接頂点があれば、その頂点をスタックにプッシュして探索します。探索可能な隣接頂点がなくなったら、スタックから頂点をポップして探索を戻り、ポップした頂点から未探索の隣接頂点があるかを確認します。このプロセスをスタックが空になるまで繰り返します。