JS排序--图解希尔排序

本文介绍了希尔排序的原理及步骤,通过一个具体的例子展示希尔排序的过程,包括增量为5时的第一轮排序结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做了一道面试题是关于希尔算法的,重新又把希尔算法复习了一遍!!!

题目是这样的 {55,26,33,80,70,90,6,30,40,20} 第一轮排序结果是多少?

第一步:增量值=10/2=5;


就是分为 [ 55  90 ] , [ 26  6 ] , [ 33  30 ] , [ 80  40 ] ,  [ 70  20 ] 这五个组,然后进行直接排序,就是把没个组里的小的放到前面得到

 [ 55  90] , [ 6   26] , [ 30  33 ] , [ 40  80 ] ,  [ 20  70 ] 

                   

第二步:增量值=5/2=2 

就是把它再分为两个组  [ 55  30  20  26  80 ] 和 [ 6  40  90  33  70 ]  

            

直接排序后得到  [ 20  26  30  55  80 ]  和  [ 6  33  40  70  90 ]

      

第三步:增量值=2/2=1

分为一个组  [ 20  6  26  33  30  40  55  70  80  90 ]  进行直接排序得到  [ 6  20  26  30  33  40  55  70  80  90  ]


这就是希尔排序最后的结果!!!

但是这道题问的是增量值为5的时候也就是第一次排序结果为  55  6  30  40  20  90  26  33  80  70




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值