希尔排序

希尔排序(Shell Sort)是插入排序的一种改进版本,也称为缩小增量排序。

基本思想

插入排序对于基本有序的序列复杂度很小,因此希尔排序先宏观调整再微观调整:先使序列趋近于有序,再进行排序。

分批次进行插入排序,用多批次换来整体有序。

算法特点

  • 通过缩小增量(gap)的方式逐步使序列接近有序
  • 最后一轮增量为 1 时即为普通插入排序
  • 时间复杂度依赖于增量序列的选择
  • 空间复杂度:O(1)
  • 稳定性:不稳定

链接到