希尔排序(缩小增量排序)

Posted yinniora

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了希尔排序(缩小增量排序)相关的知识,希望对你有一定的参考价值。

希尔排序

-- 插入排序中的一种,也叫缩小增量排序,是不稳定排序。 适用于顺序存储

 

排序思想

1、将乱序元素分成 d1 组(组内元素和往后数d1个的元素为一组,每一组组内元素并不相邻)

2、对每一分组内元素进行直接插入排序

3、将全部元素再分成 d1/2 组(取下界)

4、对每一分组元素进行直接插入排序

5、再分组,重复上述步骤直到 d=1

 

d一般取长度的一半(取下界)   例 7个元素,则 d1 = 7/2 (取下界)  d1=3

 

#:  3  6  5  2  5  1  4  7个元素分为3组, d1=3 (相应元素往后数 3 个为一组),相同颜色的元素为一组,对 [3,2,4] [6,5] [5,1] 分别进行插入排序

得到  2  5  1  3  6  5  4  

 

->  2  5  1  3  6  5  4  d2 = 3/2(取下界)d2 = 1 ,缩小增量, 对整个序列分别进行插入排序

得到  1  2  3  4  5  5  6

 

其中在第一次排序的时候,由于分组, 第一个5 和第二个 5 交换了位置,因此,希尔排序是不稳定的排序。

以上是关于希尔排序(缩小增量排序)的主要内容,如果未能解决你的问题,请参考以下文章

希尔排序(缩小增量排序)

希尔排序(缩小增量排序)

希尔排序法(缩小增量法)

算法-排序-希尔排序

希尔排序(Shell Sort)

20191209-八大排序之希尔排序