当前位置:网站首页>PriorityQueue类的使用及底层原理
PriorityQueue类的使用及底层原理
2022-08-04 19:51:00 【像你这样的】
目录
Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示
上面数组对应的完全二叉树是
从上面二叉树这个图中, 我们可以发现规律 :
如果一个节点对应的数组下标是index, 则我们可以计算出他的左节点的数组下标, 右节点的数组下标, 父节点的数组下标
左节点的数组下标 : index * 2 + 1
右节点的数组下标 : index * 2 + 2
父节点的数组下标 : (index - 1) / 2
因此我们可以简单的获取值的左右节点和父节点的值, 用于值与值间的对比, 替换
add()方法的底层原理 :
add()方法中调用的就是offer()方法, 直接看offer()方法
poll()方法的底层原理 :
边栏推荐
猜你喜欢
随机推荐
Notepad++更改显示背景
JS手写JSON.stringify() (面试)
JS new一个构造器发生了什么?从零手写一个new方法
【Attention演变史】翻译模型seq2seq (第二弹)
The book "The Essence of Alipay Experience Design", a record of knowledge related to testing
To -.-- -..- -
awk 统计差值记录
lds链接的 顺序问题
Aura clock chip generation configuration file script
If it is test axi dma catch a few words here
密码学系列之:PEM和PKCS7,PKCS8,PKCS12
Finished product upgrade program
正畸MIA微种植体支抗技术中国10周年交流会在沈举办
How to manually download and install SAP Fiori tools - Extension Pack for Visual Studio Code
哈佛架构 VS 冯·诺依曼架构
Polygon zkEVM 基本概念
June To -.-- -..- -
《支付宝体验设计精髓》一书,跟测试相关性知识记录
T+Cloud: A "Smart Company" for Building New Business Social Networks and Marketing Relationships
SIGIR 2022 | 邻域建模Graph-Masked Transformer,显著提高CTR预测性能