![]() |
VOOZH | about |
A Heap is a special Tree-based Data Structure that has the following properties.
AMin-Heap is a complete binary tree in which the value in each node is smaller than all of its descendants.
A Max-Heap is a complete binary in which root node must be the greatest among all its descendant nodes and the same thing must be done for its left and right sub-tree also.
Mapping the elements of a heap into an array is trivial: if a node is stored an index k, then its left child is stored at index 2k + 1 and its right child at index 2k + 2.
Let us go through the representation of Min heap. So basically Min Heap is a complete binary tree. A Min heap is typically represented as an array. The root element will be at Arr[0]. For any ith node, i.e., Arr[i]
- Arr[(i -1) / 2] returns its parent node.
- Arr[(2 * i) + 1] returns its left child node.
- Arr[(2 * i) + 2] returns its right child node.
Explanation: Now let us understand how the various helper methods maintain the order of the heap
Example: In this example, we will implement the Min Heap data structure.
10 15 30 40 50 100 40 10 10 15 40 30 40 50 100
Please refer Max Heap in JavaScript for details.