時間復雜度

排序方法? ? ? ?? ? ? 最好情況? ? ? ? ? ? ? ? 最壞情況? ? ? ? ? ? ? 平均情況? ? ? ? ? ? ? ? 穩定性

冒泡排序????????????? 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(r+n)) ???????????? 穩定

空間復雜度

(1)選擇排序最好是?O(n2)

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

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

空間復雜度

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

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

快速排序為0(logn),要為遞歸程序執行過程棧所需的輔助空間??歸并排序和基數排序所需輔助空間最多,為O(n)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容