正在加载图片...
记录分成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
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有