记录分成d个组,将所有距离为d倍数的记录放在同 个组中,在各组内进行直接插入排序;然后取第二个增 量d2<d重复上述分组和排序工作,依此类推,直至所 取的增量d1=1(d1<d11<…d2<d1,即所有记录放在 同一组中进行直接插入排序为止因此,希尔排序又叫 “缩小增量排序” 对增量有多种取法,希尔给出的取法为: d1=Ln/2上d=Ld2/2」 上式中,n待排序记录的个数,=1,2…Log2n」 下面通过一个具体例子来看希尔排序的过程 设有一组初始关键字如下所示: 47336182721125475702 n=10,d1=Ln/2」=5记录分成 d1 个组, 将所有距离为 d1 倍数的记录放在同一 个组中, 在各组内进行直接插入排序; 然后取第二个增 量 d2 d1 重复上述分组和排序工作, 依此类推, 直至所 取的增量 1( ) di = di di−1 d2 d1 , 即所有记录放在 同一组中进行直接插入排序为止. 因此, 希尔排序又叫 “缩小增量排序”. 对增量有多种取法, 希尔给出的取法为: d1 = n / 2, di+1 = di / 2 上式中,n为待排序记录的个数, i =1,2, ,log2 n 下面通过一个具体例子来看希尔排序的过程. 设有一组初始关键字如下所示: 47 33 61 82 72 11 25 47 57 02 n =10, d1 = n / 2 = 5