希尔排序

时间复杂度:
希尔排序是不稳定的,通常情况下,希尔排序的时间复杂度为
O(n log^2 n);但是,对于特定的增量序列,例如 Hibbard 增量序列,希尔排序的时间复杂度可以达到 O(n^(3/2))。总的来说,希尔排序的性能取决于增量序列的选择,不同的增量序列可能导致不同的时间复杂度。
空间复杂度:
希尔排序的空间复杂度为 O(1)。

直接插入排序

时间复杂度:O(n^2)
最好情况,已排序{1,2,3,4,5,6},O(n)。
最坏情况,反序排列{6,5,4,3,2,1},O(n^2)。
空间复杂度:
直接插入排序的空间复杂度为 O(1)。

冒泡排序

时间复杂度:
最好情况,排序,一趟,比较n次,没有移动,O(n)。
最坏情况,随机排列和反序排列,n-1趟,O(n^2)
空间复杂度:
空间复杂度为O(1),交换两个元素。

归并排序

image.png
时间复杂度:
n个元素归并排序,每趟比较n-1次,数据移动n-1次,进行 log2(n) 趟,时间复杂度为O(n*log2(n))。
空间复杂度:O(n)

快速排序

时间复杂度:
最好情况:O(nlog2(n))
最坏情况:O(n^2)
平均情况:O(nlog2(n))
空间复杂度:log2(n)

直接选择排序

时间复杂度:O(n^2)
空间复杂度:O(1)

堆排序

时间复杂度:
最坏情况下,堆排序的时间复杂度是 O(n log n)。
最好情况下,堆排序的时间复杂度同样是 O(n log n)。
平均情况下,堆排序的时间复杂度也是 O(n log n)。
空间复杂度:O(1)


要出家的键盘
1 声望0 粉丝

引用和评论

0 条评论