希尔排序(Shell Sort)是插入排序的一种改进版本,它通过比较相距一定间隔的元素来工作。希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录"基本有序"时,再对全体记录进行依次直接插入排序。
希尔排序的主要步骤:
希尔排序的时间复杂度与增量序列的选择有关,平均时间复杂度约为 O(n^1.3)。