排序法 |
平均时间 |
最差情形 |
稳定度 |
额外 空 间 |
备注 |
冒泡 |
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(log RB) |
O(log R B) |
稳定 |
O(n) |
B 是真数 (0-9) , R 是基数 ( 个十百) |
Shell |
O(nlogn) |
O(n s ) 1<s<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 大时较好 |