Watch insert, extract, and build heap in action!
Min-Heap: Parent โค Children
Parent
โ(i โ 1) / 2โLeft Child
2 ร i + 1Right Child
2 ร i + 2๐ Click any node in the tree to see the formulas in action
Array Representation:
Start from index โn/2โ โ 1 = 2 and bubble down each node going left to index 0. Leaves (indices 3โ6) are already valid heaps โ skip them!
| Operation | Time | Space | Why |
|---|---|---|---|
| Insert | O(log n) | O(1) | Bubble up through at most log n levels |
| Extract Min | O(log n) | O(1) | Bubble down through at most log n levels |
| Peek (min) | O(1) | O(1) | Min is always at index 0 (root) |
| Heapify (build) | O(n) | O(1) | Bottom-up โ most nodes are leaves and don't move |
| Insert n items | O(n log n) | O(n) | Each of n inserts costs O(log n) |
| Search | O(n) | O(1) | Heap is not sorted โ must check every element |
Heapify works bottom-up: it calls bubble_down from the last non-leaf to the root. Most nodes are near the bottom of the tree and move very little:
Leaves (bottom)
n/2 nodes
0 moves
Level above
n/4 nodes
โค 1 move
Next level
n/8 nodes
โค 2 moves
Root (top)
1 node
โค log n moves
Total work: n/4 ยท 1 + n/8 ยท 2 + n/16 ยท 3 + ... โ n (geometric series). Half the nodes do zero work, a quarter do one swap โ it adds up to O(n), not O(n log n).