优先查询(priority queue),理学-计算机科学技术-计算机科学理论-算法-数据结构,一种处理带有优先级的元素的数据结构。又译优先队列。普通的队列是一种先进先出(first in,first out)的数据结构,新元素追加在队列尾,读取和删除元素时则从队列头开始处理;而在优先队列中,元素被赋予优先级(priority),具有高优先级的元素将被优先处理。优先队列具有最高级先出(first in,largest out)的行为特征,仅当多个元素同时具有最高优先级时才按照它们到来的先后顺序依次处理。虽然实践中优先队列经常以堆(heap)的形式实现,但是优先队列和堆有本质的区别——事实上优先队列在概念上更接近数组或者表。优先队列主要支持以下两个操作:①根据优先级插入元素:根据一个元素的优先级把它插入优先队列。②弹出最高优先级元素:清除并返回队列中优先级最高的元素。为了方便,优先队列往往还有一个返回最高优先级元素(但不将之从队列中删除)的操作,也就是取队首操作。这个操作通常需要在常数时间内完成,也是衡量优先队列性能最重要的指标之一。