希尔排序,它是简单插入排序经过改进后的一个更高效的版本。
希尔排序属于插入排序。
希尔排序也称为缩小增量排序。
思想:
希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。
图示:
按4进行逻辑上的 分组
增量为4
每组进行排序:
这就是第一次按照4排序完得到的结果
12345786
然后再上个增量上缩小一半变成2
上图是第二次增量为2的逻辑分组
接下来进行第二次的希尔排序
第二次希尔排序的结果为:
12435687
继续
第三次再次缩小一半增量为1
逻辑分组: