![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Ang Ga Ga
Rush!投入/专注/我永远爱Java。
展开
-
每日总结[9]20191019 数据结构复习-堆排序/优先级队列
(1)头脑风暴:把我能想到的写下来堆排序 思路:方法一:原地堆排序。不占用额外空间。从最后一个非叶子节点开始,(因为叶子节点可以看作是天然的堆)siftDown,(这个siftDown不像之前的siftDown,是heap类中的,用的是该类的数组data,我们直接在传入的数组的基础上进行元素交换)直到根为止, 这样堆顶元素一定是最大值,然后每次将堆顶与数组最后一个元素交换,(这样就可以使...原创 2019-10-19 15:47:35 · 137 阅读 · 0 评论 -
每日总结[8] 20191016 数据结构复习-堆-二叉堆/比较器Comparable和Comparator
(1)头脑风暴:把我能想到的的先写下来。堆一般用完全二叉树实现——二叉堆。完全二叉树就是除了最后一层不满以外,其他层都需要是满的。靠左排。完全二叉树可以使用数组存储。如果每个根节点都不小于它的左右子树,那么这个堆是大顶堆/最大堆。JVM中的堆存类的对象,数组对象。操作系统的堆用链表实现。堆有siftUp元素上浮,是指向堆添加元素时,鉴于数组,直接删除和插入都需要元素整体搬移,时间和空...原创 2019-10-17 21:06:31 · 162 阅读 · 1 评论