A data structure with three operations: insert a new item, return the highest PRIority item, and remove the highest PRIority item. The obvious way to represent PRIority queues is by maintaining a sorted list but this can make the insert operation very slow. Greater efficiency can be achieved by using heaps. (1996-03-12)