整列アルゴリズムの計算量とは?
整列アルゴリズムの計算量とは、データを並べ替える代表的な方式群。バブルソート・選択ソート・挿入ソートは実装が単純だが平均計算量がO(n²)。クイックソート・マージソート・ヒープソートは平均計算量がO(n log n)で、大量データの整列に適する。
応用情報技術者試験の過去問では8回出題されています(2016年度〜2024年度)。
せいれつあるごりずむのけいさんりょう
整列アルゴリズムの計算量の意味
データを並べ替える代表的な方式群。バブルソート・選択ソート・挿入ソートは実装が単純だが平均計算量がO(n²)。クイックソート・マージソート・ヒープソートは平均計算量がO(n log n)で、大量データの整列に適する。
整列アルゴリズムの計算量の具体例
クイックソートは基準値(ピボット)より小さい値・大きい値に分割することを再帰的に繰り返す方式で平均的に高速だが、ピボットの選び方が悪いと最悪計算量がO(n²)に悪化する。マージソートは常にO(n log n)を保証できるが、追加の記憶領域を必要とする。
整列アルゴリズムの計算量は試験でどう引っ掛けられる?
「平均計算量」と「最悪計算量」が異なるアルゴリズムがある(クイックソートが代表例)ことを見落としやすい。
整列アルゴリズムの計算量と関連する用語
整列アルゴリズムの計算量が出た過去問
ヒープソートの説明として、適切なものはどれか。
正解:未整列の部分を順序木にし、そこから最小値を取り出して整列済の部分に移す。この操作を繰り返して、未整列の部分を縮めていく。
要点:ヒープソートは順序木の根から極値を取り出して整列する
ヒープソートは、未整列部分をヒープ(親子間に大小関係が保たれた順序木)として構成し、根にある最小値または最大値を取り出して整列済み部分へ移す操作を繰り返す方式です。取り出すたびにヒープを再構成するため、計算量は要素数nに対しておおむね n log n となります。他の選択肢はシェルソート、クイックソート、バブルソートの説明です。
出典:平成28年度 秋期 応用情報技術者試験 午前 問6(IPA)分割統治を利用した整列法はどれか。
正解:クイックソート
要点:クイックソートはピボットで2分割して再帰する分割統治法
分割統治法は、問題を小さな部分問題に分割し、それぞれを解いてから統合する考え方です。クイックソートは基準値(ピボット)で列を2つに分割し、各部分を再帰的に整列するため分割統治に該当します。マージソートも同じく分割統治型です。
出典:令和1年度 秋期 応用情報技術者試験 午前 問8(IPA)バブルソートの説明として、適切なものはどれか。
正解:隣り合う要素を比較して、大小の順が逆であれば、それらの要素を入れ替えるという操作を繰り返す。
要点:バブルソートは隣接要素の比較交換を繰り返す整列法
バブルソートは隣り合う要素を順に比較し、大小の順序が逆であれば交換する操作を繰り返す整列法である。1回の走査で最大値(または最小値)が端に移動する様子が泡の浮上に似ることから、この名で呼ばれる。実装は単純だが計算量はO(n^2)で、大量データには向かない。
出典:令和3年度 秋期 応用情報技術者試験 午前 問5(IPA)アルゴリズム設計としての分割統治法に関する記述として、適切なものはどれか。
正解:全体を幾つかの小さな問題に分割して、それぞれの小さな問題を独立に処理した結果をつなぎ合わせて、最終的に元の問題を解決する方法である。
要点:分割統治法は小問題に分けて解き結果を統合する
分割統治法は、問題を同種の小さな部分問題に分割し、それぞれを独立に(多くは再帰的に)解いてから結果を統合して元の問題の解を得る手法である。マージソートやクイックソート、高速フーリエ変換などが代表例である。
出典:令和3年度 春期 応用情報技術者試験 午前 問7(IPA)未整列の配列A[i](i=1,2,…,n)を、次の流れ図によって整列する。ここで用いられる整列アルゴリズムはどれか。
正解:バブルソート
要点:隣接要素の比較交換を繰り返す整列はバブルソート
内側のループが配列の末尾側から先頭方向へ進みながら、隣り合う要素A[j]とA[j−1]を比較し、逆順なら交換しています。隣接要素の比較交換を繰り返して小さい値を先頭へ押し上げる動きは、バブルソートの典型的な形です。
出典:令和4年度 秋期 応用情報技術者試験 午前 問6(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。