A heap (data structure) is a tree that is ordered with respect to depth. When the question concerns process memory set aside for dynamic allocation, tag with heap-memory instead.
In computer science, a heap is a specialized tree-based data structure that satisfies the heap property: If A is a parent node of B then key(A) is ordered with respect to key(B) with the same ordering applying across the heap. Either the keys of parent nodes are always greater than or equal to those of the children and the highest key is in the root node (this kind of heap is called max heap) or the keys of parent nodes are less than or equal to those of the children (min heap).
There are several variants of this data structure, and when this is relevant for the question, add the more specific tag as well: min-heap, max-heap, binary-heap, fibonacci-heap, binomial-heap, soft-heap, pairing-heap
For questions on the heap-sort algorithm, add the heapsort tag.
Don't use this tag for the following:
the heap, i.e. the pool for dynamic memory allocation: tag with heap-memory
Heap's algorithm: tag with heaps-algorithm
Non-clustered database tables (MS SQL): tag with heap-table
In-memory database tables (MySQL): tag with in-memory-tables