/** * 堆排序 *? * @param array * @param length */ public void heapSort(int[] array, int length) { // 调整为大根堆的形式 // 存储根堆的元素个数 int currentSize = length; int start = (currentSize - 2...
分类:
编程语言 时间:
2015-01-28 18:08:03
阅读次数:
180
STL容器(五)——heap
我们可以调用STL中的heap堆,实现建堆和堆排序等操作。
首先,STL中的heap默认构建的是最大堆,程序如下:
#include
#include
#include
using namespace std;
int main()
{
int a[]={2, 3, 5, 1, 9, 6};
vector vec(a...
分类:
其他好文 时间:
2015-01-28 10:00:58
阅读次数:
236
-------------------注明----------------以下内容来自于《算法导论》 lz新手,存在各种错误以及各种不合理的地方望大家指出堆排序时间复杂度为O(nlgn),并且就有空间原址性:任何时候都只需常数个额外的元素空间存储临时数据6.1 堆堆是一个数组,但可以被看做近...
分类:
编程语言 时间:
2015-01-28 06:09:16
阅读次数:
278
题目链接:
1105
一共两种操作 放入和取出(MAX)的
最多有10W次操作 ,暴力肯定会超时。
我们可以将盒子理解为一个大顶堆,即父节点大于左右子节点。
1.每次放入糖果时往上维护堆
2.取出时模仿堆排序的算法 将根节点(max)输出并与最后一个节点交换 再维护堆
代码:
#inclu...
分类:
其他好文 时间:
2015-01-27 11:20:47
阅读次数:
159
题目:Sort a linked list in O(n log n)
time using constant space complexity.
思路:题目要求我们使用常数空间复杂度,时间复杂度为O(nlog(n)). 满足这个时间复杂度的有快速排序,归并排序,堆排序。插入排序时间复杂度为O(n^2). 双向链表用快排比较合适,堆排序也可用于链表,单项链表适合于归并排序。我们就用归并排序的...
分类:
编程语言 时间:
2015-01-27 11:13:51
阅读次数:
190
堆:堆是具有特殊性质的二叉树
每个结点都大于其左右儿子的的二叉树叫大顶堆
每个结点都小于其左右儿子的二叉树叫做小顶堆
堆排序图解:
给定一个整形数组a[]={16,7,3,20,17,8},对其进行堆排序。
首先根据该数组元素构建一个完全二叉树,得到
然后需要构造初始堆,则从最后一个非叶节点开始调整,调整过程如下:
20和...
分类:
编程语言 时间:
2015-01-26 22:55:08
阅读次数:
248
优先队列(Priority Queues)的使用和队列(删除最老的元素)以及栈(删除最新的元素)类似。举个实用例子:也就是从10亿个元素中选出最大的10个,有了优先队列,就只需要用一个能存储10个元素的队列即可。 而二叉堆很好实现优先队列的基本操作。其中二叉堆是一组能够用队友徐的完全二叉树排序...
分类:
编程语言 时间:
2015-01-26 19:00:22
阅读次数:
170
Sort a linked list inO(nlogn) time using constant space complexity.常见排序方法有很多,插入排序,选择排序,堆排序,快速排序,冒泡排序,归并排序,桶排序等等。。它们的时间复杂度不尽相同,而这里题目限定了时间必须为O(nlgn),符合要...
分类:
编程语言 时间:
2015-01-26 13:23:44
阅读次数:
194
转自:http://blog.chinaunix.net/uid-20773165-id-1847742.html1.稳定性比较插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的选择排序、希尔排序、快速排序、堆排序是不稳定的2.时间复杂性比较插入排序、冒泡排序、选择排序的时间复杂性为...
分类:
编程语言 时间:
2015-01-25 19:38:46
阅读次数:
263
常见经典排序算法1.希尔排序2.二分插入法3.直接插入法4.带哨兵的直接排序法5.冒泡排序6.选择排序7.快速排序8.堆排序排序算法对比一.希尔(Shell)排序法(又称宿小增量排序,是1959年由D.L.Shell提出来的)/* Shell 排序法 */#include void sort(int...
分类:
编程语言 时间:
2015-01-24 12:53:51
阅读次数:
219