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

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

データ列が整列の過程で図のように上から下に推移する整列方法はどれか。ここで,図中のデータ列中の縦の区切り線は,その左右でデータ列が分割されていることを示す。

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より
  1.  クイックソート
  2.  シェルソート
  3.  ヒープソート
  4.  マージソート
解答・解説を見る

正解:エ

AI解説

図はデータ列がまず細かく分割され(区切り線が増え)、その後、隣り合う部分列どうしが併合(マージ)されて整列済みの長い列に統合されていく過程を示している。「分割してから整列済み列を併合する」のはマージソートの特徴である。マージソートは分割統治法に基づき、計算量は常にO(n log n)で安定なソートである。 ア: クイックソートは基準値(ピボット)より小さい群と大きい群に分割を繰り返す方式で、併合の過程はない。分割位置もデータ依存で不均等になる。 イ: シェルソートは一定間隔おきに取り出した要素群ごとに整列し、間隔を徐々に狭めていく方式で、図のような分割・併合の形にはならない。 ウ: ヒープソートはヒープ(半順序木)を構成して最大値(最小値)を順に取り出す方式で、列の分割は行わない。 エ: 正解。列を分割し、整列しながら併合していく図の推移はマージソートである。 💡 整列過程の図の見分け方:「半分ずつ分割→併合」ならマージソート、「ピボットで左右に振り分け」ならクイックソート、「先頭部分だけ整列が進む」なら選択・挿入系と判断する。

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

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

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

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

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