過去問解きまくり研究所 ホーム

令和3年度 春期 午前 問6

基礎理論

配列に関する問題

配列 A[1],A[2],…,A[n] で,A[1] を根とし,A[i] の左側の子を A[2i],右側の子を A[2i+1] とみなすことによって,2 分木を表現する。このとき,配列を先頭から順に調べていくことは,2 分木の探索のどれに当たるか。

答えと解説を見る

✓ これが正解エ幅優先探索

解説

根から浅い順に読むので幅優先探索に当たります。

設問は、配列と 2 分木の対応づけを与えたうえで、配列を先頭から順に調べる行為がどの探索に当たるかを問うています。ですから見分けの軸は、その読み方が同じ深さのものを先にすべて読むのか、それとも一つの枝を深いところまで先に降りるのか、という一点だけです。与えられた対応では、番号 i の要素の子が番号 2i と 2i+1 に置かれます。番号 1 が根、番号 2 と 3 が深さ 1 の二つ、番号 4 から 7 までが深さ 2 の四つというように、同じ深さのものが番号の上で連続してかたまります。ですから先頭から番号順に調べると、根を読み、次に深さ 1 をすべて読み、続いて深さ 2 をすべて読むという順序になります。これは階層ごとに横へなぞる読み方です。

ほかの選択肢はなぜ違うのか

出典:令和3年度 春期 応用情報技術者試験 午前 問6

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)