数据结构-最大堆、最小堆【手动实现】
数据结构中的堆是一种特殊的二叉树,不同于 Java 内存模型中的堆。
堆必须符合以下两个条件:①是一棵完全二叉树;②任意一个节点的值都大于(或小于)左右子节点的值;
从第一点可以知道,堆适合用数组来存储;第二点中,若父节点都大于等于左右子节点,则被称为大顶堆,反之则为小顶堆。 阅读全文
posted @ 2019-09-24 20:21 万雨 阅读(1526) 评论(0) 推荐(0)
数据结构中的堆是一种特殊的二叉树,不同于 Java 内存模型中的堆。
堆必须符合以下两个条件:①是一棵完全二叉树;②任意一个节点的值都大于(或小于)左右子节点的值;
从第一点可以知道,堆适合用数组来存储;第二点中,若父节点都大于等于左右子节点,则被称为大顶堆,反之则为小顶堆。 阅读全文
posted @ 2019-09-24 20:21 万雨 阅读(1526) 评论(0) 推荐(0)
posted @ 2019-09-24 18:24 万雨 阅读(526) 评论(0) 推荐(0)
上述的冒泡排序、选择排序、插入排序、归并排序都是属于比较类排序,他们大多数不需要开辟额外地址空间,时间复杂度大致范围为O(N^2)~O(nlogn),其中希尔排序的时间复杂度为O(n^1.3)
下面将要给大家介绍的是另外一类排序方法,非比较类排序!!!他们的时间复杂度可以降的很低,但是代价是要开辟额外的内存空间。 阅读全文
posted @ 2019-09-24 16:56 万雨 阅读(434) 评论(0) 推荐(0)
posted @ 2019-09-21 17:14 万雨 阅读(249) 评论(0) 推荐(0)
posted @ 2019-09-21 17:06 万雨 阅读(729) 评论(0) 推荐(0)
posted @ 2019-09-20 22:41 万雨 阅读(463) 评论(0) 推荐(0)
posted @ 2019-09-20 15:53 万雨 阅读(492) 评论(0) 推荐(0)
posted @ 2019-09-17 22:28 万雨 阅读(283) 评论(0) 推荐(0)
posted @ 2019-09-17 21:45 万雨 阅读(323) 评论(0) 推荐(0)
posted @ 2019-09-17 15:39 万雨 阅读(408) 评论(0) 推荐(0)