問題
木構造で「深さ優先探索」の説明として正しいものはどれか。
選択肢
- 1ア 近い階層のノードから順に訪問する
- 2イ 1つの枝を最深部まで辿ってから戻る方式で探索する
- 3ウ ランダムに探索する
- 4エ 葉ノードから根へ向かって訪問する
正解
2. イ 1つの枝を最深部まで辿ってから戻る方式で探索する
詳しい解説を見る解説を閉じる
解説
深さ優先探索(DFS)は、根から出発して一つの枝を行き止まり(葉)まで深く辿り、それ以上進めなくなったら直前の分岐点まで戻って(バックトラック)別の枝を探索する方式であり、イが正解である。後から訪れたノードを先に処理する性質から、スタックまたは再帰呼出しで実装される。アの「近い階層のノードから順に訪問する」は幅優先探索(BFS)の説明であり、BFSは根に近い順に階層単位で探索し、キューで実装される点でDFSと対をなす。ウのランダムな探索やエの葉から根へ向かう訪問は、いずれも探索アルゴリズムの定義として誤りである。基本情報技術者試験では、DFS=スタック(再帰)、BFS=キューという実装データ構造の対応と、二分木の巡回順序(先行順・中間順・後行順)が頻出ポイントである。
一問一答
科目A 180問+科目B 60問