首页 > 其他分享 >优先队列

优先队列

时间:2023-08-04 17:34:11浏览次数:27  
标签:node q1 优先 less 队列 复杂度 int logn

元素入队时间复杂度O(logn),查询O(1),总体排序时间复杂度O(logn),用于优化一些大数据范围的排序,具体用法如下:

#include<bits/stdc++.h>
using namespace std;

priority_queue <int,vector<int>,less<int> > q; //less<int>:和greater<int>相反 

struct node{
    int i,v;
};
priority_queue <node> q1;

bool operator < (const node &x, const node &y){ //重载"<",排序规则与实际规则相反 
    if(x.v == y.v) return x.i > y.i;
    return x.v > y.v;
}
int main(){
    int n,t;
    cin >> n;
    for(int i = 1;i <= n;i++){
        cin >> t;
        q.push(t); 
        q1.push((node){i,t});
    }
    while(q1.size()){
        cout << q.top() << endl;
        q.pop();
        cout << q1.top().i << " " << q1.top().v << endl;
        q1.pop();
    }
    return 0;
}

 

标签:node,q1,优先,less,队列,复杂度,int,logn
From: https://www.cnblogs.com/breeze-zyh/p/17606564.html

相关文章

  • BGP选路-本地优先级local-preference
    本地优先级特性1)共有属性,默认值为1002)只能工作于IBGP邻居之间传递3)从EBGP邻居学到的BGP路由本地优先级属性默认不显示,但是默认值为100,从自身IBGP邻居学习到的是可以显示的,默认值为1004)数值越大越优先核心配置:1)抓取感应兴趣流ipip-prefix1index10permit100.1.1.024greater-e......
  • CSS样式的优先级高的如何覆盖
    使用样式规则的优先级来解决问题 !important 可以覆盖无素比较高的优先级CSS样式的优先级:1.行内样式:通过元素的style属性设置的样式,具有最高的优先级。2.ID选择器:通过元素的id选择器设置的样式会覆盖元素的类选择器和标签选择器。3.类选择器/属性选择器/伪类选择器:这......
  • 为什么要 API 优先?
    最近关于API-First(API优先)作为设计和开发方法的讨论很多,虽然通向API-First的途径有很多,但通常推动API-First的一般都是API架构师、API设计师和API平台负责人等,很好理解,因为他们对组织中API的效率、互操作性和质量最感兴趣。因此,这些支持者制定了与团队其他成员共享......
  • 单调队列
    一个支持在队尾插入,队头和队尾删除的队列,整个队列呈单调性如果要求最大值则维护一个递减的单调队列,最小值则递增用deque写很方便(前几天用数组模拟队列代码调不出bug难受死了)例题 P1886滑动窗口思路:用一个deque,存点的序号(用于判断是否过期)和点的数字。每次新增加一个元素,都......
  • 网工内推 | 云计算工程师专场,CCNP/HCIP认证优先
    01弧聚科技招聘岗位:网络工程师(云计算方向)职责描述:1、作为H3C初级云计算交付工程资源培养对象,需配合完成相关华三产品及服务规范培训。2、培训赋能后,安排到H3C云项目交付中进行项目交付及驻场支撑。3、按照公司项目需求,需动态进行出差支撑任职要求:1、大专学历及以上学历,IT相关专业......
  • redis stream做轻量级消息队列的可行性
    背景对于消息数量很少的场景,尝试使用redisstream来做消息队列.为什么要用redis的stream,redis的其他数据结构可以吗?参考文章1:https://www.zhihu.com/question/43688764?sort=created参考文章2:https://www.cnblogs.com/williamjie/p/11201654.htmlredis有一些机制有队......
  • kratos项目中使用kafka实现延迟队列
    项目地址https://gitee.com/huoyingwhw/kratos_kafkaB站视频地址B站视频地址——kratos项目中使用kafka实现延迟队列......
  • 消息队列详解
    文章目录1、什么是消息队列2、消息队列特点3、消息队列的的传输模式4、常用的消息队列1、什么是消息队列消息队列一般简称为MQ(MessgesQueue),是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成,是在消息的传输过程中保存消息的容器。......
  • scrapy源码分析:redis分布式爬虫队列中,priority值越大,优先级越高
    scrapy源码分析:redis分布式爬虫队列中,priority值越大,优先级越高一、背景scrapy爬虫项目中,遇到scrapy的priority属性,搞不懂priority的值越大优先级越高,还是值越小优先级越高#通过priority修改优先级returnscrapy.Request(url=request.url,dont_filter=True,callback=spider......
  • 网卡校准:调整网卡的 Buffer size 与网卡队列
    调整Buffersize操作:使用ethtool命令可以调整网卡的Buffersize。例如,要调整eth0网卡的接收缓冲区大小为4096字节,可以执行以下命令:ethtool-Geth0rx4096作用:网卡的Buffersize决定了网卡能够缓存的数据包数量和大小。较大的Buffersize可以提高网络吞吐量和性能,尤......