アルゴリズム・プログラミング比較問題

深さ優先探索(DFS)と幅優先探索(BFS)の探索順序の違いとして正しいものはどれか。

A.DFSはグラフのノードをランダムに探索し、BFSは開始ノードから近い順に探索する
✗ DFSはランダムではなく、スタックを利用して深い方向を優先して系統的に探索します。
B.DFSはスタックを用いて分岐を深く優先して探索し、BFSはキューを用いて近いノードから順に探索する← 正解
✓ 正解です。DFSはスタック(または再帰)で深さ方向を優先し、BFSはキューで開始点から近い順にノードを探索します。
C.DFSはキューを用いて近いノードから順に探索し、BFSはスタックを用いて深く優先して探索する
✗ DFSとBFSの説明が逆になっています。DFSがスタック使用、BFSがキュー使用が正しいです。
D.DFSもBFSも同じ順序でノードを探索するが、使用するデータ構造が異なる
✗ DFSとBFSは使用するデータ構造だけでなく、探索するノードの順序も根本的に異なります。

基本情報技術者試験 の問題一覧