Heap là một cấu trúc dữ liệu cây nhị phân đặc biệt với các thuộc tính sau:
Thuộc tính Heap: Trong một heap, ở mọi node, giá trị của node cha (nếu có) luôn thỏa mãn một điều kiện nhất định đối với giá trị của node con. Có hai loại heap phổ biến: Max Heap và Min Heap.
Max Heap: Trong Max Heap, giá trị của mọi node cha lớn hơn hoặc bằng giá trị của các node con.
Min Heap: Trong Min Heap, giá trị của mọi node cha nhỏ hơn hoặc bằng giá trị của các node con.