说白了,也就是大堆,或者小堆,通过删掉堆顶点,然后存入数组,来实现排序: 第一阶段:构建堆最多用2N次比较 第二阶段:第i次deleteMax最多用到2【logi】次比较, 总数最多2NlogN-O(N)次比较 代码: 1 #include <iostream> 2 #include <vector ...
分类:
编程语言 时间:
2017-05-20 00:08:16
阅读次数:
229
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:关于时间复杂度:1.平方阶(O(n2))排序各类简单排序:直接插入、直接选择和冒泡排序。2.线性对数阶(O(nlog2n))排序快速排序、堆排序和归并排序;3.O(n1+..
分类:
编程语言 时间:
2017-05-19 00:02:39
阅读次数:
261
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:关于时间复杂度:1.平方阶(O(n2))排序各类简单排序:直接插入、直接选择和冒泡排序。2.线性对数阶(O(nlog2n))排序快速排序、堆排序和归并排序;3.O(n1+..
分类:
编程语言 时间:
2017-05-19 00:02:08
阅读次数:
258
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:关于时间复杂度:1.平方阶(O(n2))排序各类简单排序:直接插入、直接选择和冒泡排序。2.线性对数阶(O(nlog2n))排序快速排序、堆排序和归并排序;3.O(n1+..
分类:
编程语言 时间:
2017-05-19 00:01:13
阅读次数:
253
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:关于时间复杂度:1.平方阶(O(n2))排序各类简单排序:直接插入、直接选择和冒泡排序。2.线性对数阶(O(nlog2n))排序快速排序、堆排序和归并排序;3.O(n1+..
分类:
编程语言 时间:
2017-05-19 00:00:34
阅读次数:
310
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:关于时间复杂度:1.平方阶(O(n2))排序各类简单排序:直接插入、直接选择和冒泡排序。2.线性对数阶(O(nlog2n))排序快速排序、堆排序和归并排序;3.O(n1+..
分类:
编程语言 时间:
2017-05-18 23:55:35
阅读次数:
270
Linux 内核网络协议栈 sk_buff 结构体 以及 完全解释 (2.6.16) 又见 “堆排序” select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET ...
分类:
编程语言 时间:
2017-05-18 20:02:03
阅读次数:
161
直接插入排序 冒泡排序 简单选择排序 希尔排序 快速排序 堆排序 归并排序 基数排序 ...
分类:
编程语言 时间:
2017-05-18 16:50:49
阅读次数:
204
选择排序: 关键是找最小元的一步 普通选择排序都看一遍 时间复杂度O(N^2) 可用最小堆来优化 使时间复杂度降为O(NlogN) 算法1: T(N) = O(NlogN) 问题:需要额外O(N)空间 且复制元素需要时间 算法2: 调成最大堆 每次把最大的放到最后位置 堆的规模减1 然后调整最大堆 ...
分类:
编程语言 时间:
2017-05-18 09:45:07
阅读次数:
243
空间复杂度 空间性能是排序所需辅助空间大小 所有简单排序和堆排序都是0(1) 快速排序为0(logn),要为递归程序执行过程栈所需的辅助空间 归并排序和基数排序所需辅助空间最多,为O(n) ...
分类:
编程语言 时间:
2017-05-16 17:26:30
阅读次数:
182