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

分野:アルゴリズムとプログラミング(データ構造・アルゴリズム・探索整列・計算量の実際・擬似言語・プログラム言語・データ記述言語)|実際に出題されたIPA過去問題

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

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

正解:エ

AI解説

ヒープソートは、未整列部分を順序木(ヒープ:親が子より小さい、または大きいという条件を満たす完全2分木)に構成し、その根から最小値(または最大値)を取り出して整列済み部分へ移す操作を繰り返す整列法である。「順序木」「最小値(最大値)の取り出しの繰返し」がキーワードであり、エが正解である。 ア: 一定間隔おきの部分列を整列し、間隔を1まで詰めていく方法は、シェルソートの説明である。 イ: 基準値(ピボット)より大きい区分と小さい区分に振り分けて再帰的に処理する方法は、クイックソートの説明である。 ウ: 隣り合う要素を比較して逆順なら交換する操作の繰返しは、バブルソートの説明である。 エ: 正しい。未整列部分をヒープ(順序木)にして最小値を取り出す操作を繰り返すのはヒープソートである。計算量はO(n log n)である。 💡 整列アルゴリズムの説明文対応は頻出。「間隔→シェル」「基準値・区分→クイック」「隣接交換→バブル」「順序木・ヒープ→ヒープソート」とキーワードで即断できるようにする。

出典:平成23年度 秋期 応用情報技術者試験 午前 問6 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「アルゴリズムとプログラミング」分野の攻略ポイント

データ構造・アルゴリズム・探索と整列・計算量・擬似言語・プログラム言語・データ記述言語が対象です。擬似言語のトレースは時間はかかるものの、落ち着いて表を書けば必ず正解にたどり着く「確実に取れる」問題です。

アルゴリズムとプログラミングの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(アルゴリズムとプログラミング(データ構造・アルゴリズム・探索整列・計算量の実際・擬似言語・プログラム言語・データ記述言語))の過去問