![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 59
是香橙啊
这个作者很懒,什么都没留下…
展开
-
优先级队列(堆)
优先级队列和普通队列的区别:普通队列的元素就是先入先出的出队操作 优先级队列:表面是队列 底层是基于堆实现的 按照元素的优先级动态出队; 如果是基于最大堆的优先级队列 那么堆的值越大他的优先级越高 JDK中的优先级队列默认是最小堆的实现 元素间大小比较:当我们比较两个自定义类型是否相等=>覆写Object类提供的equals方法 我们的操作系统的进程调度来说,(任务管理器)底层就维护了一个优先级队列 普通队列:入队:O(1)尾插 出队:O(n) 优先级队列(堆...原创 2022-03-30 19:52:13 · 939 阅读 · 0 评论 -
堆和优先级队列 下沉 上浮 最大堆
堆和优先级队列(内部就是堆) 堆(二叉堆 基于二叉书的堆) 二叉堆:一颗完全二叉树 结构上:完全二叉树 堆中根节点》=子树中的节点值(最大堆、大根堆)小根堆相反;且在堆中只能保证当前节点和和子节点以及父节点之间的大小关系 和层次无关 完全二叉树建议使用顺序表(数组)存储:没有空间的浪费 使用顺序表存储时 如果根节点从0开始排序那么它的子节点就是2k+1 和2k+2一般只需要判断左树就行当2k+1<arr.length; 当判断一个节点的父节点是否存在?只需判断它是否为根节点 换个说法就是判断原创 2022-03-29 21:19:16 · 969 阅读 · 0 评论