アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 200907 実施分 問6
ヒープソートの説明として,適切なものはどれか。
- ア ある間隔おきに取り出した要素から成る部分列をそれぞれ整列し,更に間隔を詰めて同様の操作を行い,間隔が 1 になるまでこれを繰り返す。
- イ 中間的な基準値を決めて,それよりも大きな値を集めた区分と,小さな値を集めた区分に要素を振り分ける。次に,それぞれの区分の中で同様な処理を繰り返す。
- ウ 隣り合う要素を比較して,大小の順が逆であれば,それらの要素を入れ替えるという操作を繰り返す。
- エ 未整列の部分を順序木にし,そこから最小値を取り出して整列済の部分に移す。この操作を繰り返して,未整列の部分を縮めていく。
出典:基本情報技術者試験 科目A免除 修了試験 200907 実施分 問6
答えと解説を見る
正解:エ
覚える知識
ヒープソートの定義
ヒープソートは未整列部分をヒープにして最小(最大)値を順に取り出すソートである。
この問題で必要なこと
ヒープソートは未整列部分を順序木(ヒープ)にし、最小(最大)値を取り出して整列済みの部分に移す操作を繰り返す。
ひっかけ
アはシェルソート、イはクイックソート、ウはバブルソートの説明。
この知識の出題:本試験系 0 回・免除試験 4 回(公開問題での観測値)