A heap is a complete binary tree satisfying the heap property: Min-heap: every parent is smaller than or equal to its children. The root is the minimum.
Max-heap: every parent is greater than or equal to its children.
The root is the maximum. "Complete" means all levels are fully filled except possibly the last, which is filled left to right. This structure allows efficient array storage.