【Java】 用PriorityQueue实现最大最小堆
发布日期:2021-06-29 19:47:11
浏览次数:2
分类:技术文章
本文共 604 字,大约阅读时间需要 2 分钟。
PriorityQueue(优先队列),一个基于优先级堆的无界优先级队列。
实际上是一个堆(不指定Comparator时默认为最小堆),通过传入自定义的Comparator函数可以实现大顶堆。
PriorityQueueminHeap = new PriorityQueue (); //小顶堆,默认容量为11PriorityQueue maxHeap = new PriorityQueue (11,new Comparator (){ //大顶堆,容量11 @Override public int compare(Integer i1,Integer i2){ return i2-i1; }});
PriorityQueue的常用方法有:poll(),offer(Object),size(),peek()等。
- 插入方法(offer()、poll()、remove() 、add() 方法)时间复杂度为O(log(n)) ;
- remove(Object) 和 contains(Object) 时间复杂度为O(n);
- 检索方法(peek、element 和 size)时间复杂度为常量。
转载地址:https://darkness.blog.csdn.net/article/details/115600241 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月22日 07时38分18秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
奇异值分解简要笔记
2019-04-30
6.824(2020年) Lab1 MapReduce
2019-04-30
6.824 Amazon Aurora云数据库
2019-04-30
6.824 2020 Lecture 13: Spanner
2019-04-30
数据库恢复 (ARIES)
2019-04-30
比特币Bitcoin论文笔记
2019-04-30
Apache Flink: 在同一个引擎做流式和批处理
2019-04-30
CMU15-445 PROJECT 4 - LOGGING & RECOVERY
2019-04-30
Amazon Dynamo论文以及与Cassandra对比
2019-04-30
常见26种NLP任务的练手项目(收藏)
2019-04-30
【GNN】task5-超大图上的节点表征学习
2019-04-30
智能教学系统 Cognitive Tutors: Lessons Learned
2019-04-30
使用免费GPU深度学习平台colab玩转Kaggle比赛
2019-04-30
研究知识追踪/学生模型的一些学校和人物
2019-04-30
简谈RSS——巧用Feed43制作自定义RSS源
2019-04-30
powershell 脚本压缩工具
2019-04-30
Windows下Pentaho Report Designer之运行配置
2019-04-30
【python数据可视化】穷逼买二手房历险记
2019-04-30