对于希尔排序交换法和移位法区别的理解

对于一组数据:
{ 8, 9, 1, 7, 2, 3, 5, 4, 6, 0 }
一共10个数据,第一次分为五组
8 3
9 5
1 4
7 6
2 0
交换法和移位法第一次循环中结果一样:
3 8
5 9
1 4
6 7
0 2
第一次循环结果为
3 5 1 6 0 8 9 4 7 2

第二次分为两组
3 1 0 9 7
5 6 8 4 2
交换法:
要一个一个换过去,比如第二组 5 6 8 4 2
要把2换到第一个位置 需要 2 与 4 交换 再与 8 交换 再与 6 交换 再与 5 交换
移位法:
依旧以第二组为例 5 6 8 4 2
采用插入方式 直接将 2 插入到 5 前面
节省了很多时间
第二次循环结果为
0 2 1 4 3 5 7 6 9 8

同样第三次,分为一组
交换法:
将2 1交换 后面依次交换
移位法:
将1插入到2前面
二者效率差不多
第三次循环结果为
0 1 2 3 4 5 6 7 8 9

因此,当数据量庞大时,可以明显看出移位法用时比交换法用时短;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值