这个图可能一下子看不懂 现在来解释一下
解释:第一趟 第1个和第6个比较 ,排序
第2个和第7个比较,排序
第3个和第8个比较,排序 以此类推直到所有的都排好
第二趟 第1个 第3个 第5个 第7个 第9个 一起比较 排序
第2个 第4个 第6个 第8个 第10个 一起比较 排序
第三趟 都排序
优劣:
1. 不需要大量的辅助空间,和归并排序一样容易实现。
2. 希尔排序的时间复杂度与增量序列的选取有关,例如希尔增量时间复杂度为O(n²),而Hibbard增量的希尔排序的时间复杂度为O(),希尔排序时间复杂度的下界是n*log2n。
3. 希尔排序没有快速排序算法快 O(n(logn)),因此中等大小规模表现良好,对规模非常大的数据排序不是最优选择。
4. 希尔算法在最坏的情况下和平均情况下执行效率相差不是很多,而快速排序在最坏的情况下执行的效率会非常差。