希尔排序介绍
希尔排序,也称递减增量排序算法(缩小增量排序),是插入排序的一种更高效的改进版本,但希尔排序是非稳定排序算法
希尔排序基本思想
希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序,随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件被分成一组,算法便终止
希尔排序算法讲解(需要有直接插入排序算法作为基础知识)
(说明:分组个数等于下标增量等于步长,说的都是同一个意思,分组=下标增量=步长)
以数组 {82 ,31 ,29 ,71, 72, 42, 64, 5, 110} 为例
该数组长度为9,初始增量初始默认设置为数组长度的一半,取整,为4
就可以把以上数组分为以下四个子数组,然后对每个子数组分别进行直接插入排序
子数组1
子数组2