戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2011年 秋期 午前206


問題文

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

選択肢

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

ヒープソートの説明 +【午前2 解説】

要点まとめ

  • 結論:ヒープソートは未整列部分をヒープ(順序木)に変換し、最小値または最大値を取り出して整列済みに移す手法です。
  • 根拠:ヒープ構造を利用することで、効率的に最大値や最小値を取得し、整列を進められます。
  • 差がつくポイント:ヒープソートと他のソート(シェルソート、クイックソート、バブルソート)の特徴を正確に区別できるかが重要です。

正解の理由

選択肢エは「未整列の部分を順序木(ヒープ)にし、そこから最小値を取り出して整列済の部分に移す」というヒープソートの基本的な流れを正しく説明しています。ヒープソートはヒープ構造を用いて最大値または最小値を効率的に抽出し、整列済み領域に移動させることでソートを完成させます。

よくある誤解

ヒープソートをシェルソートやクイックソートと混同し、間隔を詰めて部分列を整列する操作や、基準値で区分けする操作と誤解しがちです。

解法ステップ

  1. 問題文の説明がヒープ構造を使ったものか確認する。
  2. ヒープソートは「ヒープ(順序木)」を利用することを思い出す。
  3. 選択肢の説明がヒープの特徴(最大値・最小値の取り出し)に合致しているかを検証。
  4. 他の選択肢が別のソート手法(シェルソート、クイックソート、バブルソート)を説明していないか確認。
  5. ヒープソートの説明に最も合致する選択肢を選ぶ。

選択肢別の誤答解説

  • ア:間隔を詰めて部分列を整列するのはシェルソートの説明であり、ヒープソートではありません。
  • イ:基準値で区分けし再帰的に処理するのはクイックソートの特徴です。
  • ウ:隣接要素を比較して入れ替える操作を繰り返すのはバブルソートの説明です。
  • :ヒープ構造を用いて未整列部分から最小値を取り出す操作はヒープソートの正しい説明です。

補足コラム

ヒープソートは「ヒープ」という完全二分木の性質を利用し、最大値または最小値を効率的に取り出せるため、安定性はありませんが、計算量はで安定した性能を発揮します。メモリ使用量ものため、実用的なソート手法の一つです。

FAQ

Q: ヒープソートは安定なソートですか?
A: いいえ、ヒープソートは安定なソートではありません。要素の順序が変わる可能性があります。
Q: ヒープとは何ですか?
A: ヒープは完全二分木の一種で、親ノードが子ノードより大きい(または小さい)という順序性を持つデータ構造です。

関連キーワード: ヒープソート、ヒープ構造、ソートアルゴリズム、順序木、バブルソート、クイックソート、シェルソート
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について