冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它的基本思想就是两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 例如:初始序列3,6,4,2,11,10,5;从头开始,两两相比...
分类:
其他好文 时间:
2014-08-21 15:07:44
阅读次数:
188
高速排序算法作者 July 二零一一年一月四日------------------------------------------ 写之前,先说点题外话。每写一篇文章,我都会遵循下面几点原则:一、保持版面的尽量清晰,力保排版良好。二、力争所写的东西,清晰易懂,图文并茂三、尽最大可能确保所写的东西精准...
分类:
其他好文 时间:
2014-08-21 11:04:03
阅读次数:
318
左轴演算、中轴演算、右轴演算
题目:
快速排序法(quick sort)是目前所公认最快的排序方法之一(视解题的对象而定),虽然快速排序法在最差状况下可以达O(n2),但是在多数的情况下,快速排序法的效率表现是相当不错的。
快速排序 - 算法
1、快速排序法的基本精神是在数列中找出适当的轴心,然后将数列一分为二
2、分别对左边与右边数列进行排序...
分类:
其他好文 时间:
2014-08-21 01:38:43
阅读次数:
155
选择排序 – 算法
1. 将要排序的对象分作2部份,一个是已排序的,一个是未排序的
2. 从后端未排序部份选择一个最小值,并放入前端已排序部份的最后一个
e.g:
排序前:70 80 31 37 10 1 48 60 33 80
[1] 80 31 37 10 7048 60 33 80 选出最小值1
[1 10] 31 37 80 7048 60 33 80 选出最小值10
[1 10 31] 37 80 7048 60 33 80 选出最小值31...
分类:
其他好文 时间:
2014-08-21 00:16:23
阅读次数:
195
插入排序 – 算法
1、将排序部分分成两部分
2、每次从后面部分取最前面的数插入到前面部分的适当位置
该处提供两个插入排序版本,指定间隔插入与插入排序。后面对指定间隔排序提到Shell排序中的n/2间隔与Sedgewick间隔...
分类:
其他好文 时间:
2014-08-21 00:13:13
阅读次数:
208
Shell排序算法 – n/2间隔
Shell首先将间隔设定为n/2,然后跳跃进行插入排序,再来将间隔n/4,跳跃进行排序动作,再来间隔设定为n/8、n/16,直到间隔为1之后的最后一次排序终止。
Shell排序算法 – Sedgewick间隔
将间隔设定为n / 2是D.L Shell最初所提出,在教科书中使用这个间隔比较好说明,然而Shell排序法的关键在于间隔的选定,例如Sedgewick证明选用以下的间隔可以加 快Shell排序法的速度:...
分类:
其他好文 时间:
2014-08-21 00:12:33
阅读次数:
233
Shaker排序 –
算法
1、 气泡排序的双向进行,先让气泡排序由左向右进行,再来让气泡排序由右往左进行,如此完成一次排序的动作
2、 使用left与right两个旗标来记录左右两端已排序的元素位置。...
分类:
其他好文 时间:
2014-08-21 00:12:07
阅读次数:
120
在前面三节排序算法中,我们分别分析了不同策略,思想用于排序,而这些算法都是基于数据间的比较来确定顺序的。假设我不用比较,换一种思路,那么就可以达到时间复杂度为O(n)的排序算法,当然是以付出额外的空间为代价的。一、基本思想线性时间排序的算法思想:(1):在计数排序中,利用比x小或等的元素个数和的来确...
分类:
其他好文 时间:
2014-08-21 00:00:53
阅读次数:
363
复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。算法原理:冒泡排序算法的运作如下:(从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了...
分类:
其他好文 时间:
2014-08-20 20:49:42
阅读次数:
179
经典的排序算法有十种,分别是:选择排序、插入排序、希尔排序、冒泡排序、堆排序、合并排序、快速排序、计数排序、基数排序和桶排序。
下面对这些算法分类如下:
选择排序:简单选择排序、堆排序
插入排序:直接插入排序、二分插入排序、希尔排序
快速排序:快速排序、随机化快速排序
线性时间排序:计数排序、基数排序、桶排序
其他:冒泡排序、合并排序
这些排序排序算法的时间复杂度,稳...
分类:
其他好文 时间:
2014-08-20 16:31:32
阅读次数:
185