算法种类 | 时间复杂度 | 空间复杂度 | 稳定性 |
---|---|---|---|
直接插入排序 | best:
O
(
n
)
O(n)
O(n) avg: O ( n 2 ) O(n^2) O(n2) worst: O ( n 2 ) O(n^2) O(n2) | O ( 1 ) O(1) O(1) | 稳定 |
折半插入排序 | avg:
O
(
n
2
)
O(n^2)
O(n2) | O ( 1 ) O(1) O(1) | 稳定 |
希尔排序 | avg:
O
(
n
1.3
)
O(n^{1.3})
O(n1.3) worst: O ( n 2 ) O(n^2) O(n2) | O ( 1 ) O(1) O(1) | 不稳定 |
冒泡排序 | best:
O
(
n
)
O(n)
O(n) avg: O ( n 2 ) O(n^2) O(n2) worst: O ( n 2 ) O(n^2) O(n2) | O ( 1 ) O(1) O(1) | 稳定 |
快速排序 | best:
O
(
n
l
o
g
2
n
)
O(nlog_2n)
O(nlog2n) avg: O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) worst: O ( n 2 ) O(n^2) O(n2) | O ( l o g 2 n ) O(log_2n) O(log2n) | 不稳定 |
简单选择排序 | best:
O
(
n
2
)
O(n^2)
O(n2) avg: O ( n 2 ) O(n^2) O(n2) worst: O ( n 2 ) O(n^2) O(n2) | O ( 1 ) O(1) O(1) | 不稳定 |
堆排序 | best:
O
(
n
l
o
g
2
n
)
O(nlog_2n)
O(nlog2n) avg: O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) worst: O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) | O ( 1 ) O(1) O(1) | 不稳定 |
归并排序 | best:
O
(
n
l
o
g
2
n
)
O(nlog_2n)
O(nlog2n) avg: O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) worst: O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) | O ( n ) O(n) O(n) | 稳定 |
基数排序 | best:
O
(
d
(
n
+
r
)
)
O(d(n+r))
O(d(n+r)) avg: O ( d ( n + r ) ) O(d(n+r)) O(d(n+r)) worst: O ( d ( n + r ) ) O(d(n+r)) O(d(n+r)) | O ( r ) O(r) O(r) | 稳定 |
13 排序算法的总结
最新推荐文章于 2023-04-05 09:51:20 发布