上一篇介绍了冒泡算法及其优化方案,但其优化是从每轮的比较次数上优化,而“鸡尾酒算法”可以从轮次上优化。 一、什么时鸡尾酒排序? 鸡尾酒排序又称为快乐小时排序,它基于冒泡排序进行的优化方案。 二、鸡尾酒算法思想 冒泡排序是元素单向比较,而鸡尾酒排序却是双向。 列举一个最简单的栗子array[2, 3, ...
分类:
编程语言 时间:
2018-08-01 20:43:38
阅读次数:
201
昨天回顾了下冒泡排序和鸡尾酒排序,用面向对象的方式写了一下,并且优化了代码,记录一下~ 一、冒泡排序 二、鸡尾酒排序 ...
分类:
编程语言 时间:
2018-08-01 11:41:04
阅读次数:
185
鸡尾酒排序,也叫定向冒泡排序,是冒泡排序的一种改进。此算法与冒泡排序的不同处在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较列里的每个元素。 它可以得到比冒泡排序稍微好一点的排序。 分析: 以序列(2,3,4,5,1)为例,鸡尾酒排序只需要访问一次序列就可以完成排序,但如果 使用冒泡排序则需要 ...
分类:
编程语言 时间:
2018-07-31 15:15:20
阅读次数:
131
鸡尾酒排序,也叫定向冒泡排序,是冒泡排序的一种改进。此算法与冒泡排序的不同处在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。他可以得到比冒泡排序稍微好一点的效能。 python代码: ...
分类:
编程语言 时间:
2018-07-21 21:32:29
阅读次数:
231
冒泡排序 冒泡排序(buble sort)是一个比较入门的排序算法。顾名思义,它根据将最大(或最小)的数依次冒泡从而实现排序。 如下图所示,白色部分为待排序数组,红色部分为已找出的“较大的”数,每次迭代只需从白色部分找出其中最大的数字,直至找出n-1个“较大的”数后,数组已排序。 注:找出n-1个“ ...
分类:
编程语言 时间:
2018-05-22 22:12:03
阅读次数:
220
1.排序算法 交换类排序 - 冒泡排序 鸡尾酒排序 奇偶排序 梳子排序 侏儒排序 快速排序 臭皮匠排序 Bogo排序 选择类排序 - 选择排序 堆排序 Smooth排序 笛卡尔树排序 锦标赛排序 圈排序 插入类排序 - 插入排序 希尔排序 二叉查找树排序 图书馆排序 耐心排序 归并类排序 - 归并排 ...
分类:
编程语言 时间:
2018-04-04 15:05:03
阅读次数:
127
向大端冒泡排序 向小端冒泡排序 鸡尾酒排序 冒泡排序优化--标识符 冒泡排序优化--标记位 ...
分类:
其他好文 时间:
2017-12-11 14:04:40
阅读次数:
129
算法: 1、依次比较相邻的两个数,将小数放在前面,大数放在后面; 2、第一趟可得到:将最大数放到最后一位。 3、第二趟可得到:将第二大的数放到倒数第二位。 4、如此下去,重复以上过程,直至最终完成排序。 ...
分类:
编程语言 时间:
2017-06-02 15:44:57
阅读次数:
200
def cocktail_sort( arr ): arr_len = len( arr ) half = arr_len / 2 for i in xrange( half ): for j in xrange( i, arr_len - i - 1 ): if arr[j] > arr[1 + ...
分类:
编程语言 时间:
2017-04-29 14:22:07
阅读次数:
193