Priority queue

A priority queue is a collection of items in which only the most important (i.e. highest priority) item may be accessed or removed, for varying definitions of 'important'. Priority queues are often implemented as a min- or max-heap, which have the property that the most important item is easily accessible.