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

平成26年度 秋期 午前 問4

基礎理論

配列に関する問題

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

答えと解説を見る

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

解説

添字の区切りが段の区切りと重なります。

設問は、根を先頭に置き、ある要素の左の子をその添字の 2 倍の位置に、右の子を 2 倍に 1 を足した位置に置くという決まりで木を配列に写したとき、その配列を先頭から順に調べる行為が、木のどの探索に当たるかを問うています。見分けの軸は、添字の並びが木のどの単位と一致するかという一点です。要素が 7 個の場合で添字を実際に置いてみます。1 番目が根、2 番目と 3 番目が根の左右の子、4 番目と 5 番目が 2 番目の子、6 番目と 7 番目が 3 番目の子になります。ここで添字を 1、2 から 3、4 から 7 と切ると、その切れ目が根の段、その次の段、さらに次の段という段の境目とそのまま重なります。段が一つ下りるたびに節の数が倍になるので、境目は 2 のべき乗の位置に現れるからです。したがって配列を先頭から順に調べることは、浅い段の節をすべて訪れてから次の段へ移ることと同じであり、これが幅優先探索の訪れ方そのものです。

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

出典:平成26年度 秋期 応用情報技術者試験 午前 問4

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