深さ優先探索
目的の方へ進めるだけ進んで、進めなくなったら戻る方法を深さ優先探索といいます。
深さ優先探索は、バックトラックとも呼ばれ、すべての答えを見つけるときによく使われます。
深さ優先探索は、順番によって次の3種類があります。
🔹 行きがけ順
🔹 帰りがけ順
🔹 通りがけ順
ソースコード(通りがけ順)
次のような木構造があるとします。
[木構造]
深さ優先探索は、再帰を使って実装するのが一般的です。
通りがけ順では、2分木の左側の子ノードを先に処理し、次に右側の子ノードを処理します。
[Google Colaboratory]
1 | # 木構造を表すデータ |
[実行結果]
7 3 8 1 9 4 10 0 11 5 12 2 13 6 14
常に左側のノード番号が優先的に出力されていることを確認できます。