快速排序,又称划分交换排序。以分治法为策略实现的快速排序算法。 本文主要要谈的是利用javascript实现in-place思想的快速排序 分治法: 在计算机科学中,分治法是建基于多项分支递归的一种很重要的算法范式。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题, ...
分类:
编程语言 时间:
2016-08-07 06:17:16
阅读次数:
234
分类:
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
本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快 ...
分类:
编程语言 时间:
2016-07-12 20:59:49
阅读次数:
243
直接选择排序: 直接选择排序实质是一种交换排序.每次从待排序序列中选取关键字最小的元素,与当前元素交换,直到全部排序. 时间复杂度: O(n^2)-->O(n^2) 空间复杂度:O(1) 是否稳定排序:不稳定 ...
分类:
编程语言 时间:
2016-07-11 12:18:59
阅读次数:
169
/***********************************************************
总结各种排序算法包括但不限于:
1. 插入排序类
1.1 直接插入排序
1.2 二分插入排序
1.3 希尔排序
2. 交换排序类
2.1 冒泡排序
2.2 快速排序
3. 选择排序
3....
分类:
编程语言 时间:
2016-06-29 11:33:30
阅读次数:
246
本文转自:http://www.cnblogs.com/qqzy168/archive/2013/08/03/3219201.html 本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆 ...
分类:
编程语言 时间:
2016-06-27 10:28:47
阅读次数:
264
1. 交换排序 (1)冒泡排序 (2)快速排序 2. 选择排序 (1)直接选择排序 (2)堆排序 3. 插入排序 (1)直接插入排序 (2)希尔排序 4. 合并排序 (1)合并排序 5. 非比较排序 (1)计数排序 (2)桶排序 (3)基数排序 ...
分类:
编程语言 时间:
2016-06-22 20:13:57
阅读次数:
207
1.冒泡排序(时间复杂度为 O(N2)) 原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换, 这样一趟过去后,最大或最小的数字被交换到了最后一位;重复此动作直到排好序为止; 先来cv一个动图看看效果: 这里奉上一篇关于冒泡排序的博文(超赞): http://blog.csdn.n ...
分类:
编程语言 时间:
2016-06-10 19:08:23
阅读次数:
230
冒泡排序是一种简单的交换排序,其原理是对排序对象从头到尾进行扫描,并对相邻两个元素做比较,数值大的往后移。 一般的,对n个元素进行冒泡排序,总共需要进行n-1趟。第一趟需要比较n-1次,第二趟需要比较n-2次,......,第n趟需要比较n-i次 算法实现: ...
分类:
编程语言 时间:
2016-06-01 19:54:49
阅读次数:
170