希尔排序

作者: 星夜兼程工作笔记 | 来源:发表于2017-11-15 21:51 被阅读0次

希尔排序又称“缩小增量排序”,是对直接插入排序方法的改造。

希尔排序是一种不稳定的排序方法。基本思想是将整个待排记录序列分割成若干子序列,然后分别进行插入排序,带整个序列中的记录基本有序时,再对全体记录进行一次直接插入排序。具体做法是先取定一个小于n的整数d1作为第一增量,把文件的全部记录分成d1组,将所有距离为d1倍数的记录放在同一组中,在各组内进程插入排序;然后取第二个增量d2(d2 < d1),重复上述的分组和排序工作,依次类推。直至所取的增量di=1,既所有记录放在同一组进行直接插入排序为止。

增量序列为5,3,1时,希尔插入排序过程如下图:

函数如下:

相关文章

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

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

  • 07-希尔排序(Shell Sort)

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

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

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

  • swift经典算法-希尔排序

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

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

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

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

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

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

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

  • 希尔排序学习

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

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

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

  • 编程马拉松 Day04 希尔排序、归并排序、快速排序

    本文将介绍三个高级排序算法 希尔排序 归并排序 快速排序 希尔排序 希尔排序(Shell's Sort)的名称源于...

网友评论

    本文标题:希尔排序

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