鱼C论坛

 找回密码
 立即注册
查看: 2037|回复: 3

[已解决]鸡尾酒排序怎么就比冒泡排序效率高?

[复制链接]
发表于 2017-2-4 16:58:01 | 显示全部楼层 |阅读模式
0鱼币
本帖最后由 超凡天赐 于 2017-2-5 23:38 编辑

我怎么感觉他两的执行次数是一样的啊啊啊!!
最佳答案
2017-2-4 16:58:02
我是这么理解的,具体如何算出鸡尾酒就比普通冒泡效率高我也不会

任何排序算法,大体上,遍历一遍所有元素都只能确定 1 个元素的正确位置!不管是鸡尾酒还是冒泡,都是如此。其他大多排序也只能做到这个效率。

但问题在于,在遍历元素的操作过程中,是否对目标数据外的其他数据有整理作用?
比如冒泡,规律是“大的放到后面”,那么,在遍历整个数组的过程中。除了最大的一个数据最终被放到了数组的尾部,前面的元素也经历过了交换位置的情况,有一定的整理作用。

例子: 5,4,7,3,2,8,1,9,0这个数组,经历一次冒泡后是:4,5,3,2,7,1,8,0,9
其中,9是最大的数即目标,已经成功放到最后。但是看前面的数组,8是不是比原来更接近正确位置?
那么下一次冒泡的时候,8到数组尾部需要进行交换的次数就变少了!

原理上虽然每次遍历所有元素都只是确定一个元素的正确位置,但是对于数组内其他数字的整理作用不可忽视,越往后面进行运算,其需要交换的次数就越少!

那么鸡尾酒算法比起普通冒泡,多了一种“小的放到左边”的规则,所以,整理作用就更强,每次循环过后,下次运算需要交换的次数就更少!

这个就是我的理解!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-2-4 16:58:02 | 显示全部楼层    本楼为最佳答案   
我是这么理解的,具体如何算出鸡尾酒就比普通冒泡效率高我也不会

任何排序算法,大体上,遍历一遍所有元素都只能确定 1 个元素的正确位置!不管是鸡尾酒还是冒泡,都是如此。其他大多排序也只能做到这个效率。

但问题在于,在遍历元素的操作过程中,是否对目标数据外的其他数据有整理作用?
比如冒泡,规律是“大的放到后面”,那么,在遍历整个数组的过程中。除了最大的一个数据最终被放到了数组的尾部,前面的元素也经历过了交换位置的情况,有一定的整理作用。

例子: 5,4,7,3,2,8,1,9,0这个数组,经历一次冒泡后是:4,5,3,2,7,1,8,0,9
其中,9是最大的数即目标,已经成功放到最后。但是看前面的数组,8是不是比原来更接近正确位置?
那么下一次冒泡的时候,8到数组尾部需要进行交换的次数就变少了!

原理上虽然每次遍历所有元素都只是确定一个元素的正确位置,但是对于数组内其他数字的整理作用不可忽视,越往后面进行运算,其需要交换的次数就越少!

那么鸡尾酒算法比起普通冒泡,多了一种“小的放到左边”的规则,所以,整理作用就更强,每次循环过后,下次运算需要交换的次数就更少!

这个就是我的理解!

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
超凡天赐 + 5 + 5 + 3 不说对不对,先谢谢这么详细回答

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-2-5 15:08:08 | 显示全部楼层
机率上的问题吧,n个数用单向的冒泡排序,很容易我就可以找到一个要跑最多次循环的,只要把最小的数放在最后一个,因为一次循环只能往左移一格,所以要跑n-1次循环。

因为单向的是只把大的往右移,小的元素还是卡在那里,结束循环的条件是,在一次循环中没移动任何元素,但是小的元素一次就移动一格..... .

双向的话,来回一次,最大最小都归位了,不只如此,去的时候会反覆移动大的元素,相对的小的元素就只被交换位置一次,回来的时候反覆移动小的元素,相对的大的就没有太大的移动,这样就达到平衡,大概是这样,要用数学严格证明鸡尾酒排序一定比冒泡排序效率高的话,那我就不会了。

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +2 收起 理由
超凡天赐 + 5 + 5 + 2 先感谢回答

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-2-5 23:35:43 | 显示全部楼层
zealstar 发表于 2017-2-5 20:19
我是这么理解的,具体如何算出鸡尾酒就比普通冒泡效率高我也不会

任何排序算法,大体上,遍历 ...

我试了一下,有时候确实鸡尾酒排序要比冒泡排序要好一些
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 22:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表