排序算法複雜度

時間複雜度 基數排序的空間複雜度爲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)

發佈了23 篇原創文章 · 獲贊 10 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章