応用情報技術者試験 2011年度 = 平成23年度・秋期 午前 問6

 ヒープソートの説明として、適切なものはどれか。

ア ある間隔おきに取り出した要素から成る部分列をそれぞれ整列し、更に間隔を詰めて同様の操作を行い、間隔が1になるまでこれを繰り返す。
イ 中間的な基準値を決めて、それよりも大きな値を集めた区分と、小さな値を集めた区分に要素を振り分ける。次に、それぞれの区分の中で同様な処理を繰り返す。
ウ 隣り合う要素を比較して、大小の順が逆であれば、それらの要素を入れ替えるという操作を繰り返す。
エ 未整列の部分を順序木にし、そこから最小値を取り出して整列済の部分に移す。この操作を繰り返して、未整列の部分を縮めていく。

解答



解説

 ヒープソートは、未整列の部分を順序木で表し、そこから最大値又は最小値を取り出して既整列の部分に移す操作を繰り返して、未整列部分を縮めていくソートアルゴリズムです。

 ある間隔おきに取り出した要素から成る部分列をそれぞれ整列し、更に間隔を詰めて同様の操作を行って間隔が1になるまで繰り返すのは、シェルソートです。

 中間的な基準値を決めて、それよりも大きな値を集めた区分と小さな値を集めた区分に要素を振り分け、それぞれの区分の中で同様な処理を繰り返すのは、クイックソートです。

 隣り合う要素を比較して、大小の順が逆であれば、それらの要素を入れ替えるという操作を繰り返すのは、バブルソート(単純交換ソート)です。

 ヒープソートは、未整列の部分を順序木で表し、そこから最大値又は最小値を取り出して既整列の部分に移す操作を繰り返して、未整列部分を縮めていくソートアルゴリズムです。


BohYoh.comトップページへ