优先队列

✍ dations ◷ 2025-08-10 16:11:50 #数据结构

优先队列是计算机科学中的一类抽象数据类型。优先队列中的每个元素都有各自的优先级,优先级最高的元素最先得到服务;优先级相同的元素按照其在优先队列中的顺序得到服务。优先队列往往用堆来实现。

优先队列至少需要支持下述操作:

其它可选的操作:

有许多简单低效的实现。如用一个有序的数组;或使用无序数组,在每次取出时搜索全集合,这种方法插入的效率为O(1),但取出时效率为​O(n)。

出于性能考虑,优先队列用堆来实现,具有(log )时间复杂度的插入元素性能,()的初始化构造的时间复杂度。如果使用自平衡二叉查找树,插入与删除的时间复杂度为(log ),构造二叉树的时间复杂度为( log )。

从计算复杂度的角度,优先级队列等价于排序算法。

有一些特殊的堆为优先队列的实现提供了额外的性能:二叉堆的插入与提取操作的时间复杂度为(log ),并可以常量时间复杂度的peek操作。二项堆提供了几种额外操作。斐波那契堆的插入、提取、修改元素优先级等操作具有分摊常量时间复杂度,,但删除操作的时间复杂度为(log )。Brodal queue(英语:Brodal queue)具有最糟糕情况下的常量复杂度但算法相当复杂因而不具有实用性。

对于整型、浮点型等具有有限值域的元素的数据类型,优先队列有更快的实现。

优先队列是计算机科学中的一类"容器数据类型"。

标准模板库(STL)以及1998年的C++标准确定优先队列是标准模板库的容器适配器模板。其实现了一个需要三个参数的最大优先队列:比较函数(缺省情况是小于函数less<T>)、存储数据所用的容器类型(缺省情况是向量vector<T>)以及指向序列开始和结束位置的两个迭代器。和标准模板库中其他的真实容器不同,优先队列不允许使用其元素类型的迭代器,而必须使用优先队列抽象数据类型的迭代器。标准模板库还实现了支持随机访问数据容器的优先队列--二叉最大堆。Boost C++库也在其中实现了堆结构。

Python的heapq模块实现了在链表基础上的二叉最小堆,queue模块将heapq模块包装实现了PriorityQueue类。

Java库中的PriorityQueue类实现了最小优先队列。

Go库中的container/heap模块实现了一个可以在任何兼容数据结构上构建的最小堆。

PHP标准库包括了一个优先队列SplPriorityQueue。

苹果的Core Foundation框架包括了一个最小堆结构CFBinaryHeap。

优先队列常用于操作系统的任务调度,也是贪心算法的重要组成部分。

相关

  • 棉花屿棉花屿为台湾附属岛屿之一。位于基隆外海,是由火山作用形成的岛屿。棉花屿名称取自因海鸟多,人船近岸时海鸟纷飞、宛如棉絮飞扬而名之。岛屿的最东端为中华民国实际控制的极东
  • 勒维斯托克山国家公园雷夫尔斯托克山国家公园(英语:Mount Revelstoke National Park)是一座位于加拿大不列颠哥伦比亚的国家公园,建于1914年。
  • 纽约州纽约州议会(New York State Legislature),是美国纽约州的州议会。纽约州议会办公地位于奥尔巴尼市的纽约州议会大厦。纽约州议会为两院制,包括纽约州参议院与纽约州众议院。参议
  • 饿死饿死,在自愿的前提下,被视为是一种自杀的方式。但是在大多数饿死的例子中,是非自愿的情况下,因缺乏食物而活活饿死。据估算,2018年全球超过8.2亿人挨饿,没有充足的食物,高于前一年
  • 各国家和地区人口列表索引 国防预算 石油储量 军事(武装部队) 死刑 国债 生育率 最高点 官方语言 地理 政体 面积 代码 陆地面积 人口 人口密度 国内生产总值 国徽 国旗 国歌 国家格言 首都 城市
  • 齐·宝力高齐·宝力高(蒙古语:.mw-parser-output .font-mong{font-family:"Menk Hawang Tig","Menk Qagan Tig","Menk Garqag Tig","Menk Har_a Tig","Menk Scnin Tig","Oyun Gurban Ulu
  • 榊原键吉榊原 键吉(さかきばら けんきち,文政13年11月5日(1830年12月19日) - 明治27年(1894年)9月11日)为江户幕府幕臣,剑术家。讳友善(ともよし)。幕末时,从男谷信友手中继承直心影流‧男谷派
  • McAfee WebAdvisorMcAfee SiteAdvisor是一个评估网站安全性的组织,也指其所提供的服务,该组织已目前已经收入了近一百万个网站,适用的浏览器包括Internet Explorer及Mozilla Firefox等主流浏览器
  • 五花茶五花茶是一种中国民间传统饮品,广东人常饮的凉茶之一,味甘性微寒,主要功效是清热、解毒、消暑去湿、减低肠胃刺热、利小便、凉血、预防夏季风热感冒及流行性感冒的功效,尤其适合
  • 奇偶性奇偶性可以指: