【Java】 用PriorityQueue实现最大最小堆
发布日期:2021-06-29 19:47:11
浏览次数:3
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月11日 16时40分34秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2021 Top5 免费录屏软件
2019-04-30
2021 五款值得推荐的免费精品软件
2019-04-30
vue项目中按需引入vant组件
2019-04-30
vue项目配置sass
2019-04-30
vue移动端项目vant组件库之button
2019-04-30
vue移动端项目vant组件库之cell
2019-04-30
vue项目按需引入element-ui
2019-04-30
Javascript 之 console
2019-04-30
Javascript 之 var、let和const
2019-04-30
vs code 查看底层
2019-04-30
html 使用 Echarts
2019-04-30
vs code 编辑器常用快捷键
2019-04-30
vs code 编辑器实用插件 代码格式化
2019-04-30
逻辑思维题 之 海盗分金币
2019-04-30
html 之 块级元素 与 行内元素
2019-04-30
css 内联、外联和外部样式
2019-04-30
div内容水平居中加垂直居中
2019-04-30
vs code 封装用户代码片段
2019-04-30