1.1
算法思路——
该算法在数组中选定一个元素作为主元(一般选第一个),然后以这个主元为参考对象将数组分为两个部分,第一部分都是小于或者等于主元,第二部分都是大于或者等于主元。然后对第一和第二部分递归地使用快速排序算法,直到分到最小的小组为止。
1.2
时间复杂度——
在最差的情况下,要把n个元素的数组划分,需要n次比较和n次移动。假设用T(n)
来表示使用快速排序算法来排序n个元素...
分类:
其他好文 时间:
2014-07-24 10:36:04
阅读次数:
259
算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序?n?个项目要Ο(n?log?n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其...
分类:
其他好文 时间:
2014-07-23 13:57:56
阅读次数:
278
原帖地址:http://www.oschina.net/question/1397765_159365 快速排序算法的基本特性: 时间复杂度:O(N * logN) 堆排序为不稳定排序,不适合记录较少的排序。 var arr = [],
count = 100,
i = 0,
parentIndex...
分类:
其他好文 时间:
2014-07-21 10:21:26
阅读次数:
207
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要 小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。最坏情况的时间复杂度为O(n2),最好 情况时间复...
分类:
其他好文 时间:
2014-07-19 17:04:01
阅读次数:
228
算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地....
分类:
其他好文 时间:
2014-07-14 15:56:17
阅读次数:
227
记录学习点滴快速排序算法是一种很有趣的算法,短小精悍,性能强劲,对于大部分情况都可以胜任,但对极端环境难以应付。快速排序我理解为:这是一个“以自我为中心的”+“分治法”思想的算法。分治法不必多说,化繁为简,那就是逐个击破。那什么是“以自我为中心”?顾名思义,就是每次都一个“我”,每个人都要围绕“我”...
分类:
其他好文 时间:
2014-07-14 08:25:25
阅读次数:
263
快速排序是一种分治排序算法。广泛认为它是解决一般问题的最佳排序算法。同插入排序一样,快速排序也属于比较排序的一种,而且不需要额外的存储空间。在处理中到大型数据集时,快速排序是一个比较好的选择。
由于快速排序是一种分治算法,因此可以用分治法的思想将排序分为三个步骤
1.分:设定一个分割值将数据分为两部分。
2.治:分别在两部分用递归的方式继续使用快速排序法。
3.合:对分割部分排序排序直至完...
分类:
其他好文 时间:
2014-07-13 15:35:44
阅读次数:
214
(1)快速排序算法以及应用快速排序中划分的思想求数组中第k小的数,最小的前k个数。(2)归并排序算法以及利用归并排序计算数组的逆序对数。(3)堆排序...
分类:
其他好文 时间:
2014-07-05 23:03:20
阅读次数:
324