python代码实现鸡尾酒排序(双向冒泡排序)

Posted Data+Science+Insight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python代码实现鸡尾酒排序(双向冒泡排序)相关的知识,希望对你有一定的参考价值。

python代码实现鸡尾酒排序(双向冒泡排序)

 

See the source image

鸡尾酒排序是冒泡排序的一种变形。它与冒泡排序的不同之处在于排序时是以双向在序列中进行排序。

鸡尾酒排序的原理跟冒泡排序差不多,只不过冒泡排序每一轮的比较都是从左至右依次比较,而鸡尾酒排序则是一轮从左至右比较,下一轮从右至左比较。

 

鸡尾酒排序,即双向的冒泡排序,等于是冒泡排序的轻微变形。不同的地方在于从低到高然后从高到低(有先后顺序,并非同时;大循环下第一个循环是从开始扫到结束,将最大的归到最后;第二个循环是从倒数第二个位置往开始端扫,将最小的归到开始的位置),而冒泡排序则仅仅从低到高去比较序列里的每个元素。他可以得到比冒泡排序稍微好一点的效能,原因是冒泡排序只从一个方向进行比对(由低到高),每次只移动一个项目和。   以排序(49,38,65,97,76,13,27,14,10)为例,鸡尾酒排序只要访问一次序列就可以完成排序,但如果使用冒泡排序需要八次。但是在乱数序列的状态下,鸡尾酒排序和冒泡排序的效率都很差。

#

# Python program for implementation of Cocktail Sort

def cockt

以上是关于python代码实现鸡尾酒排序(双向冒泡排序)的主要内容,如果未能解决你的问题,请参考以下文章

鸡尾酒排序/双向冒泡排序

冒泡排序和鸡尾酒排序的代码分析

鸡尾酒排序

算法----鸡尾酒排序

排序2-冒泡排序

鸡尾酒算法排序