高度試験午前I暗記無料で始める

ヒープとは?ひーぷ

ヒープとは、データ構造としてのヒープは、「親の値が必ず子の値以下(または以上)」という条件だけを満たす完全2分木。根に最小値(最大値)が来るので優先度付きキューの実装や整列に使う。挿入も取り出しも木の高さぶんで済み、計算量はO(log n)。

最終更新:2026-10-07

試験情報

高度試験・午前I(全区分共通)の過去問では2回出題されています。

高度試験・午前I(全区分共通)の頻出用語/午前I(全区分共通)

この語が出る過去問を解く →

背景

最小値だけを次々に取り出したい場面——イベント駆動シミュレーションの次イベント選択、ダイクストラ法の次ノード選択、OSのスケジューリング——では、全体を完全に並べ替えるのは過剰な仕事になる。順序の保証を「根が最小」の1点だけに絞れば、更新の手間が木の高さぶんに収まる。完全2分木なので配列にそのまま詰められ、添字iの子が2iと2i+1という計算だけで親子をたどれるのも実装上の利点。

具体例

ヒープソートは、全データからヒープを構成し、根を取り出しては残りを再構成する操作を繰り返す整列法。最悪でもO(n log n)で、平均は速いが最悪でO(n²)まで悪化しうるクイックソートと対比して問われる。

試験での引っ掛け

同じ「ヒープ」でも、プログラム言語の記憶域では実行時に動的確保・解放されるメモリ領域(ヒープ領域。対になるのはスタック領域)を指す別概念で、ガベージコレクションの文脈ならこちら。データ構造のほうは2分探索木とも違い、保証されるのは親子間の大小だけで、左右の子や兄弟の間に順序は無い。したがって中間順(通りがけ順)に走査してもソート済みの列は得られない。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では2回出題
  • 分野:午前I(全区分共通)
  • 同じ「ヒープ」でも、プログラム言語の記憶域では実行時に動的確保・解放されるメモリ領域(ヒープ領域。