美文网首页
7.2 希尔排序

7.2 希尔排序

作者: 你weixiao的时候很美 | 来源:发表于2018-11-21 22:44 被阅读8次

Donald Shell

希尔排序:

  • 定义增量序列DM >DM-1 >...>D1 =1
  • 对每个 Dk 进行“Dk-间隔”排序( k = M, M-1, ... 1 )
  • 注意:“Dk-间隔”有序的序列,在执行“Dk-1-间隔”排序后,仍然是“Dk- 间隔”有序的。

原始希尔排序代码

void Shell_Sort ( ElementType [A], int N) {
     for (D = N/2 ; D>0; D/=2) {    // 希尔增量序列
             for (P =D; P< N; P ++) {   // 插入排序
                Tmp = A[P];
                for (I = P; I>=D&& A[I-D]>Tmp;i-=D){
                    A[I] = A[I-D];
                }
               A[I] = Tmp;
             }
    }
}

// 最坏情况 是 T = θ(N平方);

//如果 增量元素不互质,则小增量可能根本不起作用。

相关文章

  • 7.2 希尔排序

    Donald Shell 希尔排序: 定义增量序列DM >DM-1 >...>D1 =1 对每个 Dk 进行“D...

  • 排序算法(二)之希尔排序

    图解排序算法(二)之希尔排序 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也...

  • 07-希尔排序(Shell Sort)

    希尔排序(Shell Sort) 希尔排序是唐纳德·希尔(Donald Shell)在0959年提出的。希尔排序与...

  • 排序-希尔排序(分治)

    希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序...

  • swift经典算法-希尔排序

    希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序...

  • 排序算法④——希尔排序

    希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序...

  • 排序算法-希尔排序(Java实现)

    希尔排序 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是...

  • 说说算法那些事-希尔排序

    希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,希尔排序法又称...

  • 希尔排序学习

    希尔排序希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。希尔排序是基...

  • 排序算法(四) 希尔排序(插入排序的进化)

    参考Java排序算法(四):希尔排序常见排序算法 - 希尔排序 (Shell Sort) 希尔排序算法是按其设计者...

网友评论

      本文标题:7.2 希尔排序

      本文链接:https://www.haomeiwen.com/subject/kaihqqtx.html