第一篇日记-关于希尔排序

希尔排序(Shellsort)是冲破二次时间屏障的第一批算法之一,不过还是属于亚二次时间界的。

希尔排序的好坏和增量序列(increment sequence)有很大的关系,最坏的情况时间仍然为N2

希尔排序就是按照序列中的数字由大到小,在要排列的数组按照序列中的数字互相比较,交换

例如序列为1,3,5

开始81941196123517952858417515
5排序后35171128124175159658819495
3排序后28121135154158179475819495
1排序后11121517283541587581949596

Sedgewick提出几种增量序列可以把最坏时间控制在N3/2,平均时间可以控制在N7/6

其中最好的序列是1,5,19,41,109,.. 该序列中的项或者是 9*4i- 9*2i+1 ( 1,19,109,505,...) 或者是4 - 3 * 2i + 1 (-1,-1,5,41,209, 929, ...) (这个增量在实践中最为人称道)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值