IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 优先队列 -> 正文阅读

[数据结构与算法]优先队列

这几天一直遇到优先队列的题目,刚开始感觉挺难的,但是后面多做了几题,发现,其实简单的说,优先队列就是对一个队列进行排序(时刻), emmm, 本人的资历较浅,可能下面所描述的有所错误,还请见谅与批评指正!

由于C++ 中 就有优先队列这个函数,所以我们直接用就行了:

STL里的优先队列:priority_queue

如果我们想让这个队列实现从小到大排序,我们可以这样操作:

priority_queue<int, vector<int>, greater<int> > q;? ? // q是队列名~~

如果我们想让这个队列实现从大到小排序,我们可以这样操作:

priority_queue<int, vector<int>, less<int> > q;? ?// q同上!!!

其实我们也可以通过重载运算符实现从大到小的排序功能:

struct Node{
	int x,y;
	Node(int a=0, int b=0):
		x(a), y(b) {}
};
 
struct cmp{
	bool operator()(Node a, Node b){
		if(a.x == b.x)	return a.y>b.y;
		return a.x>b.x;
	}
};

priority_queue<Node,vector<Node>,cmp>q;

最后,我想说一下我对于优先队列作用的肤浅的认识:

当我们遇到一个问题,他需要我们一直更新最小值(当然不会是minv = min(minv, XX)那么简单啦!

比如说,有一组数,我们需要取这组数的最小的两个数a, b,然后我们再输入一个数c,三者之和:a+b+c, 然后我们要把这个和并入数组中,然后重复上述操作~~~

我们可以发现啊,如果我们用平常做法的话,我们需要在求和之和再求这个数组(已经并入和结果)的最小的两个数,那么是不是会很麻烦? 对, 所以这里就体现出优先队列的优越性了!hhh,(语文不太好!可能没说清楚我想说的

呃,如果后续我有新的体会,我会及时更新的! 欢迎批评指正!

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-12-07 12:17:52  更:2021-12-07 12:19:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 14:38:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码