码迷,mamicode.com
首页 >  
搜索关键字:排序算法    ( 6430个结果
排序算法总结之冒泡排序
冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它的基本思想就是两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 例如:初始序列3,6,4,2,11,10,5;从头开始,两两相比...
分类:其他好文   时间:2014-08-21 15:07:44    阅读次数:188
高速排序算法
高速排序算法作者 July 二零一一年一月四日------------------------------------------ 写之前,先说点题外话。每写一篇文章,我都会遵循下面几点原则:一、保持版面的尽量清晰,力保排版良好。二、力争所写的东西,清晰易懂,图文并茂三、尽最大可能确保所写的东西精准...
分类:其他好文   时间:2014-08-21 11:04:03    阅读次数:318
[7] 算法之路 - 快速排序之3轴演算
左轴演算、中轴演算、右轴演算 题目: 快速排序法(quick sort)是目前所公认最快的排序方法之一(视解题的对象而定),虽然快速排序法在最差状况下可以达O(n2),但是在多数的情况下,快速排序法的效率表现是相当不错的。 快速排序 - 算法 1、快速排序法的基本精神是在数列中找出适当的轴心,然后将数列一分为二 2、分别对左边与右边数列进行排序...
分类:其他好文   时间:2014-08-21 01:38:43    阅读次数:155
[1] 算法之路 - 选择排序
选择排序 – 算法 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
[3] 算法之路 - 插入排序
插入排序 – 算法 1、将排序部分分成两部分 2、每次从后面部分取最前面的数插入到前面部分的适当位置 该处提供两个插入排序版本,指定间隔插入与插入排序。后面对指定间隔排序提到Shell排序中的n/2间隔与Sedgewick间隔...
分类:其他好文   时间:2014-08-21 00:13:13    阅读次数:208
[4] 算法之路 - 插入排序之Shell间隔与Sedgewick间隔
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
[6] 算法之路 - 双向冒泡排序之Shaker
Shaker排序 – 算法 1、 气泡排序的双向进行,先让气泡排序由左向右进行,再来让气泡排序由右往左进行,如此完成一次排序的动作 2、 使用left与right两个旗标来记录左右两端已排序的元素位置。...
分类:其他好文   时间:2014-08-21 00:12:07    阅读次数:120
排序算法(4)-线性时间排序
在前面三节排序算法中,我们分别分析了不同策略,思想用于排序,而这些算法都是基于数据间的比较来确定顺序的。假设我不用比较,换一种思路,那么就可以达到时间复杂度为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
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!