# ヒープ (データ構造)

コンピュータサイエンスにおいて、*ヒープ*は特殊な木構造のデータ構造で、後述するヒープの特性を持っています。

*最小ヒープ*では、もし`P`が`C`の親ノードの場合、`P`のキー(値)は`C`のキーより小さい、または等しくなります。

![MinHeap](https://upload.wikimedia.org/wikipedia/commons/6/69/Min-heap.png)

*最大ヒープ*では、`P`のキーは`C`のキーより大きい、もしくは等しくなります。

![Heap](https://upload.wikimedia.org/wikipedia/commons/3/38/Max-Heap.svg)

ヒープの「トップ」のノードには親ノードが存在せず、ルートノードと呼ばれます。

## 参考

- [Wikipedia](https://en.wikipedia.org/wiki/Heap_(data_structure))
- [YouTube](https://www.youtube.com/watch?v=t0Cq6tVNRBA&index=5&t=0s&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)
