Structure of array based heap
Now that we know that a heap is a complete binary tree, it is easy to understand how it is implemented using an array. We can easily identify a pattern if we enumerate the nodes of a complete binary tree starting with 0 at the root. We can see that for any given node, the enumeration for its child nodes and parent can easily be calculated using simple maths.
Enumeration of nodes in a complete binary tree
For any given node at the given `index`:
- Parent = `(index - 1) / 2`
- Left child = `(2 * index) + 1`
- Right child = `(2 * index) + 2`
Liking the course? Check our discounted plans to continue learning.