排序演算法複雜度

2021-08-31 19:51:14 字數 650 閱讀 4093

時間複雜度

基數排序的空間複雜度為o(n)

排序方法 最好情況 最壞情況 平均情況 穩定性 空間複雜度

氣泡排序 o(n) o(n2) o(n2) 穩定

快速排序 o(nlogn) o(n2) o(nlogn) 不穩定

簡單選擇排序 o(n2) 不穩定

堆排序 o(nlogn) 不穩定

直接插入排序 o(n) o(n2) o(n2) 穩定

希爾排序 o(n1.3) 不穩定

歸併排序 o(nlogn) o(nlogn) o(nlogn) 穩定

基數排序o(d(n+radix))

o(d(n+radix))

o(d(n+radix)) 穩定 o(radix)

(1)選擇排序最好是 o(n2)

(2)快速排序在平均情況下複雜性為o(nlogn),最壞情況 o(n2),最好o(nlogn)

(3)堆排序和合併排序在最壞情況下複雜性為o(nlogn)。可見,合併排序和堆排序是比較排序演算法中時間複雜度最優演算法。

空間複雜度

空間效能是排序所需輔助空間大小

所有簡單排序和堆排序都是0(1)

快速排序為0(logn),要為遞迴程式執行過程棧所需的輔助空間

歸併排序和基數排序所需輔助空間最多,為o(n)

排序演算法複雜度

在這篇裡,來記述下排序演算法複雜度,空間 時間 時間複雜度 對排序資料的總的操作次數。反映當n變化時,操作次數呈現什麼規律。空間複雜度 是指演算法在計算機內執行時所需儲存空間的度量,它也是資料規模n的函式。穩定 如果a原本在b前面,而a b,排序之後a仍然在b的前面。不穩定 如果a原本在b的前面,而...

排序演算法 時間複雜度和空間複雜度

常數階o 1 無論 執行了多少行,只要沒有迴圈複雜結構,那麼這個的時間複雜度就是o 1 o 1 時間複雜度 沒有迴圈結構的順序執行,無論執行多少行,時間複雜度均為o 1 public static voido1 對數階o log2n o log2n 時間複雜度 此處 i 以二倍的速度增長,也就是說到...

排序演算法的複雜度

排序法最壞情況 時間複雜度 穩定性空間複雜度 氣泡排序 o n2 o n2 穩定o 1 快速排序 o n2 o n log2n 不穩定o log 2n o n 選擇排序 o n2 o n2 穩定o 1 二叉樹排序 o n2 o n log2n 不穩定o n 插入排序 o n2 o n2 穩定o 1 ...