深入理解C++优先级队列:原理解析与代码实战

C嘎嘎探索篇:优先级队列:在数据之舞中揭开算法的艺术面纱

前言:

小编在前几日刚刚完成了栈和队列相关内容的书写,今天小编在讲一种特殊的队列,它的名字叫做优先级队列,细心的读者朋友可能会发现在queue这个头文件中,不仅仅只有queue适配器,还有一个priority_queue适配器,这就是优先级队列,虽然说它的名字中队列这里两个字,但其实它就是我们曾经学习过的堆结构,下面我们小编就进入优先级队列的讲解环节。

img


正文:

1.priority_queue的介绍和使用

1.1.priority_queue的介绍

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

优先级队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素在它包含的元素中最大的,它就是我们之前在数据结构阶段实现的大堆结构,当时我们堆是用顺序表进行时间的(顺序二叉树),所以此时我们的优先级队列同样可以用vector进行封装,所以它此时不再是一个容器,而是一个容器的适配器,在等会的模拟实现中相信各位可以更好的知晓这个特点,可能有很多读者朋友并没有学过堆这个数据结构,那么可以看看小编之前写过的堆结构的文章:数据结构——原来二叉树可以这么学?(2:堆的详解)-CSDN博客,在这篇文章中我就详细介绍了堆的相关概念和如何去实现的,我推荐各位看一看这个文章,避免等会听的懵逼,因为我是默认大家是会堆这个结构的,下面废话不多说,小编介绍一下优先级队列相关的功能。

1.2.priority_queue的使用

猜你喜欢

转载自blog.csdn.net/effort123_/article/details/144481433
今日推荐