ヒープとは?ひーぷ
ヒープとは、全ての節について「親の値≧子の値」(最大ヒープ)または「親の値≦子の値」(最小ヒープ)が成り立つ完全二分木(各節が子を2つまで持ち、上の段から左詰めで埋まった木)。根には常に最大値または最小値が来る。挿入と根の取り出しがともにO(log n)(データが2倍になっても手間は1段ぶんしか増えない伸び方)で行える。優先度の高いものから取り出す待ち行列(優先度付きキュー)や、ヒープを使って並べ替えるヒープソートの土台になる。
最終更新:2026-10-09
基本情報を最短で暗記・合格する →具体例
最小ヒープに新しい値を追加するときは、まず最下位レベルの左詰めの位置に置き、親と比べて小さければ交換する操作を根に向かって繰り返す。逆に根を取り出したら末尾の要素を根へ移し、小さいほうの子と比べながら下へ降ろして整え直す。
試験での引っ掛け
兄弟間や左右の部分木の間には順序関係が無い。したがってヒープを通りがけ順(中間順。左の部分木→自分→右の部分木の順にたどる)でたどっても昇順にはならない(昇順になるのは「左の子<親<右の子」と決めた二分探索木)。また「2番目に大きい値」は根の子のどちらかにあるが、3番目以降は位置が決まらない。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。