排序法 spa |
平均时间 排序 |
最差情形 ci |
稳定度 it |
额外空间 table |
备注 im |
冒泡 img |
O(n 2 ) tab |
O(n 2 ) di |
稳定 时间 |
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 R B) |
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 大时较好 |