插入排序、希尔排序(Shell)、选择排序、堆排序、冒泡排序、快速排序、归并排序和基数排序(桶排)的 时间复杂度和空间复杂度

        插入排序

        希尔排序(Shell)

        选择排序

        堆排序

        冒泡排序        

        快速排序

        归并排序和基数排序(桶排)

        的 时间复杂度(平均情况、平均情况和最坏情况)和 空间复杂度。

排序方法

名称

是否需要

比较关键字

时间复杂度

平均情况

时间复杂度

平均情况

时间复杂度

最坏情况

空间复杂度
插入排序 O(n²) O(n) O(n²) O(1)

希尔排序

(Shell)

O(n的1.3次方)

O(n) O(n²) O(1)
选择排序 O(n²) O(n²) O(n²) O(1)
堆排序 O(nlogn) O(nlogn) O(nlogn) O(1)
冒泡排序 O(n²) O(n) O(n²) O(1)
快速排序 O(nlogn) O(nlogn) O(n²) O(nlogn)
归并排序 O(nlogn) O(nlogn) O(nlogn) O(n)

基数排序

(桶排)

O(d(n+r)) O(d(n+rd)) O(d(n+r)) O(d(n+rd))

        

        希尔排序(Shell)也是一种插入形式的排序;

        堆排序也是一种选择排序;

        冒泡排序和快速排序都是交换排序。

上一篇:最长上升子序列 - 时间复杂度O(NlogN)


下一篇:排序--快速排序