0
点赞
收藏
分享

微信扫一扫

优先级队列-----堆

堆逻辑上首先是一棵完全二叉树

大根堆/大堆:堆中根节点值 >= 子树的节点值,叫做大堆/大根堆/最大堆

小根堆/小堆:堆中根节点值 <= 子树的节点值,叫做小堆/大根堆/最大堆

二叉树的存储方式

使用数组保存二叉树结构,将二叉树用层序遍历方式放入数组中

使用顺序表存储完全二叉树时,节点的索引和节点的关系如下:

根节点从0开始编号,已知父节点为k左子树索引为2k+1右子树索引为2k+2

已知子节点为k父节点就是(k-1)/ 2

优先级队列

优先级队列处理的元素是动态变化的,有进有出

JDK中的优先级队列默认是最小堆的实现,队首就是当前队列的最小值

比较两个自定义类型是否相等,覆写object中的equal()方法

举报

相关推荐

0 条评论