排序:快排、堆排序 归并排序 各排序算法比较 稳定 时间复杂度 空间复杂度 ...
分类:
编程语言 时间:
2016-07-28 16:27:12
阅读次数:
245
1.冒泡排序: 2.插入排序: 3.归并排序: 4.选择排序: 5.希尔排序: 6.堆排序: 7.快速排序: ...
分类:
编程语言 时间:
2016-07-24 01:50:10
阅读次数:
254
堆排序堆排序(heapsort)也是一种相对高效的排序方法,堆排序的时间复杂度为O(n lgn),同时堆排序使用了一种名为堆的数据结构进行管理。二叉堆
二叉堆是一种特殊的堆,二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足堆特性:父节点的键值总是保持固定的序关系于任何一个子节点的键值,且每个节点的左子树和右子树都是一个二叉堆。
如上图显示,(a)是一个二叉堆(最大堆), (b)是这个二叉堆...
分类:
编程语言 时间:
2016-07-23 23:07:31
阅读次数:
473
http://www.cnblogs.com/end/archive/2011/10/22/2220940.html 选择排序 冒泡排序 快速排序 插入排序 希尔排序 归并排序 基数排序 计数排序 小根堆排序 ...
分类:
编程语言 时间:
2016-07-21 06:19:03
阅读次数:
174
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。 堆的定义 n个元素的序列{k1,k2,…,kn}当且仅当满足下列关系之一时,称之为堆。 情形1:ki <= k2i 且ki <= k2i+1 (最小化堆或小顶堆) 情 ...
分类:
编程语言 时间:
2016-07-20 22:40:21
阅读次数:
239
插入类排序
直接插入排序
希尔排序
选择类排序
简单选择排序
堆排序
交换类排序
冒泡排序
快速排序
归并类排序
归并排序...
分类:
编程语言 时间:
2016-07-19 23:55:27
阅读次数:
525
分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序
不稳定:快速排序,希尔排序,堆排序。
先来看看8种排序之间的关系:
1.直接插入排序
(1)基...
分类:
编程语言 时间:
2016-07-15 13:46:16
阅读次数:
212
分类: 1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序) 所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序。 先来看看8种排序之间的关系: 1. ...
分类:
编程语言 时间:
2016-07-15 12:56:17
阅读次数:
177