-希尔排序算法思想
算法介绍
时间复杂度
希尔排序的时间复杂度和增量选取有关,希尔排序的增量选取规则有很多,常见的增量选取规则有以下两个。
1.希尔自己提出的选取规则:
[n/2],[n/4],…,2,1
每次将增量除2向下取整,其中n为序列长度,此时时间复杂度为O(n2)
2.帕佩尔诺夫和斯塔舍维奇提出的选取规则:
2的k次方+1,…,65,33,17,9,5,3,1
其中,k为大于等于1的整数,2的k次方小于待排序列长度,增量序列末尾的1是额外添加的。此时时间复杂度为O(n1.5)
空间复杂度
希尔排序的空间复杂度同直接插入排序一样,为O(1)