A heap allows a very efficient implementation of a -
A heap allows a very efficient implementation of a Priority queue.
Priority queue can be implemented using an array, a list, a binary search tree or a heap, although the most efficient one being the heap.
A heap is a specialized tree-based data structure that satisfies the heap property: if p is a parent node of C, then the key (the value) of P is either greater than or equal to (in a max heap) or less than or equal to (in a min heap) the key of C. The node at the "top" of the heap (with no parents) is called the root node.