A priority queue is a queue where the first element to be retrieved is an element that has the highest priority attribute.
Priority Queue are implemented generally with a heap structure