优先队列概述
普通队列是一种先进先出的数据结构,元素在队列尾部追加, 从队列头删除
- 在某些情况下, 我们可能需要找出队列中的最大值或者最小值, 例如使用一个队列保存计算机的任务, 一般情况下计算机的任务都是有优先级的, 我们需要在这些计算机的任务中找出优先级最高的任务先执行, 执行完毕之后就需要把任务从队列中删除
- 普通的队列要完成这样的功能需要每次遍历队列中的所有元素, 比较并找出最大值, 效率并不是很高, 这个时候, 我们就可以使用一种特殊的队列来完成这种需求, 这种特殊的队列就是优先队列
优先队列分类:
优先队列按照其作用不同可以分为以下两种:
- 最大优先队列
- 可以获取并删除队列中的最大值
- 最小优先队列
- 可以获取并删除队列中的最小值