Mental Model
We turn an unordered list into a heap by fixing each parent node from the bottom up so the heap property holds everywhere.
Analogy: Imagine stacking boxes so that bigger boxes are always below smaller boxes. We start fixing from the bottom shelves up to the top to make sure the stack is stable.
Array: [4, 10, 3, 5, 1]
Heap tree:
4
/ \
10 3
/ \
5 1