排序方法? ? ? ?? ? ? 最好情況? ? ? ? ? ? ? ? 最壞情況? ? ? ? ? ? ? 平均情況? ? ? ? ? ? ? ? 穩定性
冒泡排序????????????? 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)