Concept Flow - Build Heap from Array Heapify
Start with input array
Identify last non-leaf node
For each node from last non-leaf to root
Perform heapify on current node
Heapify: Compare node with children
Swap with largest child if needed
Repeat heapify on swapped child
Move to previous node
All nodes heapified -> Max-Heap built
Start from the last non-leaf node and heapify each node upwards to the root to build a max-heap from the array.