几种排序算法性能比较

统计了几种排序算法的比较和交换次数,以普通冒泡排序比较次数为100,做了一下数据处理,结果如下:
说明:
1.行中第一个是比较次数,第二个是交换次数。
2.第一行是全部随机,第二行是前70%有序,后30%无序。
3.数据个数是1000个。
1.普通冒泡。
100 50
100 28
2.带标记的冒泡。
100 50
99 28
3.鸡尾酒排序。
67 50
48 28
4.奇偶排序
98 50
97 28
5.梳子排序
5 1
5 1
6.地精排序。
101 50
57 28
7.快速排序。
2 1
2 1
8.选择排序。
100 0
100 0
9.插入排序
51 25
29 14
10.shell排序 (gap= n/2^i)
3 1
3 1
11.shell排序 (gap= 3*gap+1)
3 1
3 1


结论:
1.最快的当然是快速排序。
2.选择排序交换较少。还是有交换的,那个0是因为次数太少,四舍五入得出的。
3.最简单的插入排序也比冒泡排序好。
4.2,3,4,6,都是冒泡排序衍生的,比较次数不同,但交换次数是一样的。
5.shell排序的gap选择除2跟其他比较,在排序数据少时,差别不大。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值