A heap is a complete binary tree where each node satisfies the heap property. In a min heap, parent nodes are smaller than children. In a max heap, parent nodes are larger than children.