IT用語帳
A-1アルゴリズム・プログラミング · アルゴリズム

ヒープソート

Heap Sort

ひーぷそーと

データからヒープ(親が子以上の値を持つ完全2分木)を作り、根にある最大値を取り出してヒープを作り直す操作を繰り返して整列するアルゴリズム。最悪でも計算量はO(n log n)で、作業用の領域もほとんど要らない。

共有:

Related

他の資格での定義

Past Exams

過去問での出題

過去問で 6 回出題(応用情報技術者試験 4・高度試験 午前Ⅰ 2)。うち 3 回は用語そのものを問う問題です。

出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「用語を問う問題」は、この用語の説明や特徴そのものを問う問題です。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。

Related

関連キーワードの用語

A-1完全2分木

根から最下層の一つ上の層まですべての節が埋まり、最下層の節は左から詰めて配置された2分木。節の数nに対して高さがおよそlog₂nに抑えられ、配列で効率よく表せるため、ヒープの実現に使われる。

A-1バブルソート

隣り合う要素を比較し、順序が逆なら交換する操作を、列の端から端まで繰り返して整列するアルゴリズム。仕組みは単純だが、計算量はO(n²)で、大量のデータには向かない。

A-1選択ソート

未整列の部分から最小(または最大)の要素を選び、未整列部分の先頭と交換する操作を繰り返して整列するアルゴリズム。交換の回数は少ないが、比較の回数が多く、計算量はO(n²)である。

A-1挿入ソート

整列済みの部分に、未整列部分の先頭の要素を適切な位置に挿入する操作を繰り返して整列するアルゴリズム。計算量はO(n²)だが、ほぼ整列済みのデータに対しては高速に動作する。

A-1クイックソート

基準値(ピボット)を選び、それより小さい要素と大きい要素のグループに分ける操作を、各グループに再帰的に繰り返して整列するアルゴリズム。平均の計算量はO(n log n)で実用上最も速い部類だが、ピボットの選び方が悪いと最悪O(n²)になる。

A-1マージソート

データを半分ずつに分割していき、整列済みの小さな列どうしを併合(マージ)することを繰り返して整列するアルゴリズム。最悪でも計算量はO(n log n)で安定した整列ができるが、作業用の記憶領域が必要になる。