快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
快速排序是一种不稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种...
分类:
编程语言 时间:
2015-01-28 17:59:33
阅读次数:
149
原文:算法系列15天速成——第一天 七大经典排序【上】今天是开篇,得要吹一下算法,算法就好比程序开发中的利剑,所到之处,刀起头落。 针对现实中的排序问题,算法有七把利剑可以助你马道成功。 首先排序分为四种: 交换排序: 包括冒泡排序,快速排序。 选择排序: 包括直接选择排序,堆排序。 插入排序: 包...
分类:
编程语言 时间:
2015-01-16 09:53:39
阅读次数:
185
1. 交换排序的基本思想两两比较key值,如果发生逆序(排列的顺序与期望的顺序相反)就交换,知道所有对象都排序完毕!常见的3种交换排序算法:冒泡排序,shaker排序和快速排序。2. 冒泡排序设待排序列中有 n 个对象, 首先比较对象v[n-1]和v[n-2], 如果v[n-1] 4 #incl.....
分类:
编程语言 时间:
2015-01-13 19:40:14
阅读次数:
206
奇偶排序,或奇偶换位排序,或砖排序,是一种相对简单的排序算法,最初发明用于有本地互连的并行计算。这是与冒泡排序特点类似的一种比较排序。
该算法中,通过比较数组中相邻的(奇-偶)位置数字对,如果该奇偶对是错误的顺序(第一个大于第二个),则交换。下一步重复该操作,但针对所有的(偶-奇)位置数字对。如此交替进行下去。
处理器数组的排序
在并行计算排序中,每个处理器对应处理一...
分类:
编程语言 时间:
2015-01-06 13:54:29
阅读次数:
225
冒泡排序(Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
冒泡排序对个项目需要O()的比较次数,且可以原地排序。尽管这个算法是最简单了解和实...
分类:
编程语言 时间:
2015-01-06 11:59:41
阅读次数:
165
鸡尾酒排序,也就是定向冒泡排序, 鸡尾酒搅拌排序, 搅拌排序 (也可以视作选择排序的一种变形), 涟漪排序, 来回排序 or 快乐小时排序,
是冒泡排序的一种变形。此算法与冒泡排序的不同处在于排序时是以双向在序列中进行排序。
与冒泡排序不同的地方:
鸡尾酒排序等于是冒泡排序的轻微变形。不同的地方在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。他可以得...
分类:
编程语言 时间:
2015-01-06 11:56:29
阅读次数:
186
1、源代码 /** * 交换排序-2.快速排序 * * @param array * 数组 * @param start * 开始序号 * @param end * ...
分类:
编程语言 时间:
2014-12-26 14:27:37
阅读次数:
190
排序使我们实际开发中最常使用到的几个算法之一,按照如果按照排序过程中依据的原则对内部排序进行分类,则大致上可以分为插入排序、交换排序、选择排序、归并排序等排序方法。让我们首先看看插入排序的算法有哪些,以及他们的具体实现。插入排序的基本排序思想是:逐个考察每个待排序元素,将每一个新元素插入到前面已.....
分类:
编程语言 时间:
2014-12-23 11:51:49
阅读次数:
251
/* date:2014.12.13
冒泡排序思路:交换排序,通过相邻数据的比较、交换来达到排序的目的。
流程:1).对数组中的各数据,依次比较相邻的两个元素的大小;
2).如果前面的数据大于后面的数据,就交换这两个数据,经过第一轮的多次比较排序后,便可把最小(或最大)的数据拍好;
3).再以同样的方式把剩下的数据逐个进行比较,直至(n-1次...
分类:
编程语言 时间:
2014-12-13 17:55:22
阅读次数:
156