1. 程式人生 > >常見排序演算法的時間複雜度

常見排序演算法的時間複雜度

排序演算法 平均時間 最差情形 穩定度 額外空間 備註
冒泡 O(n^2) O(n^2) 穩定 O(1) n小時較好
交換 O(n^2) O(n^2) 不穩定 O(1) n小時較好
選擇 O(n^2) O(n^2) 不穩定 O(1) n小時較好
插入 O(n^2) O(n^2) 穩定 O(1) 大部分已排序時較好
基數 O(logRB) O(logRB) 穩定 O(n) n小時較好
希爾 O(nlogn) O(n^s),s∈(1,2) 不穩定 O(1) s是所選分組
快速 O(nlogn) O(n^2) 不穩定 O(nlogn) n大時較好
歸併 O(nlogn) O(nlogn) 穩定 O(1) n大時較好
O(nlogn) O(nlogn) 不穩定 O(1) n大時較好