数据结构与算法===优先队列

文章目录

  • 前言
  • 一、优先队列
  • 二、应用场景
  • 三、代码实现
  • 总结


前言

之前写过很多数据结构与算法相关的了,今天看一个新的数据结构,优先队列。优先队列类似队列,却又优先于队列,是堆实现的。接下来详细看看。


一、优先队列

优先队列一种特殊的队列。在优先队列中,元素被赋予优先级,当访问队列元素时,具有最高优先级的元素最先删除;
普通队列就是先进先出的。

二、应用场景

这个太多了,最经典的就是top k元素,将所有元素放进一个优先队列中,然后一个一个出来,到第K个,就是第K大元素了。接下来看看stl怎么实现的。


三、代码实现

在这里插入图片描述
上图是stl的实现。看红色框中的代码,主要有入队,出队操作;
在这里插入图片描述
这个是push_heap,入队操作;接下来看看出队pop_heap,如下:
在这里插入图片描述
看下上图,七个步骤,出队操作。最后又执行了一个__push_heap。这个写的挺简洁的。通用的模板,很多地方都在用。思考程度非一般人可比。

总结

优先队列,一个高于普通队列的数据结构,按照优先级排序,每次放进去一个数据,都要看下优先级,这就是adjust_heap的作用。入队,按照优先级调整;出队,也要按照优先级调整;这个代码的实现是基于它的特性确定的。很简洁了。好好学习学习。如果实在有疑惑,可以去学习网站看看,有可能就能解决了呢!嘿嘿。OK,翻篇。

相关推荐

  1. 数据结构算法-队列

    2024-05-16 13:00:08       23 阅读
  2. 算法数据结构 循环队列 (C++)

    2024-05-16 13:00:08       7 阅读
  3. 算法数据结构队列 (C++)

    2024-05-16 13:00:08       8 阅读
  4. 数据结构算法——栈和队列

    2024-05-16 13:00:08       6 阅读
  5. Python数据结构算法——数据结构(栈、队列)

    2024-05-16 13:00:08       9 阅读

最近更新

  1. .Net Core WebAPI参数的传递方式

    2024-05-16 13:00:08       0 阅读
  2. QT--气泡框的实现

    2024-05-16 13:00:08       1 阅读
  3. LeetCode 968.监控二叉树 (hard)

    2024-05-16 13:00:08       0 阅读
  4. leetcode热题100.完全平方数(动态规划进阶)

    2024-05-16 13:00:08       0 阅读
  5. leetcode328-Odd Even Linked List

    2024-05-16 13:00:08       0 阅读
  6. C 语言设计模式(结构型)

    2024-05-16 13:00:08       0 阅读
  7. v-if 与 v-show(vue3条件渲染)

    2024-05-16 13:00:08       0 阅读
  8. kafka防止消息丢失配置

    2024-05-16 13:00:08       0 阅读

热门阅读

  1. 循环、使用dict和set

    2024-05-16 13:00:08       3 阅读
  2. 使用 Gradle 自定义任务生成初始化 SQL 文件

    2024-05-16 13:00:08       4 阅读
  3. 数学建模(科普)

    2024-05-16 13:00:08       4 阅读
  4. IT行业的现状与未来:技术驱动下的新世界

    2024-05-16 13:00:08       4 阅读
  5. js 数组filter使用

    2024-05-16 13:00:08       4 阅读
  6. RIP、OSPF、BGP等协议及华为路由器配置总结

    2024-05-16 13:00:08       4 阅读
  7. 40-2 了解与安装堡垒机

    2024-05-16 13:00:08       2 阅读
  8. Leetcode 404:左叶子之和

    2024-05-16 13:00:08       3 阅读
  9. 力扣:131. 分割回文串

    2024-05-16 13:00:08       3 阅读
  10. 力扣 72. 编辑距离 python AC

    2024-05-16 13:00:08       4 阅读
  11. 课时126:awk实践_进阶知识_内置函数1

    2024-05-16 13:00:08       3 阅读