About
A heap is a tree data structure constructed from the priority number that needs to satisfy a heap property
The number is called priority because priority queues are often implemented this way
Articles Related
Usage
Heaps are favourite data structures for many applications:
- heap sort sorting algorithm (The binary heap was introduced by J. W. J. Williams in 1964 for this algo)
- Selection algorithms (finding the min, max or both of them, median or even any kth element in sub-linear time),
- graph algorithms such as Dijkstra's algorithm
Property
A heap can satisfy one of this two property:
Min Heap
In a min heap:
- the root store the lowest priority element
- the priority value of a parent node is less than or equal to the priority value of child
Max heap
In a max heap,
- the root store the highest priority element
Example: a binary max heap (By Ermishin - Own work, CC BY-SA 3.0)
Characteristic
- Useful when repeatedly removing the object with the highest (or lowest) priority.
- A heap is a partially ordered structure