排序方法 | 平均复杂度 | 最坏情况下时间复杂度 | 额外空间复杂度 | 稳定性 |
---|---|---|---|---|
简单选择排序 | O ( N 2 ) O(N^2) O(N2) | O ( N 2 ) O(N^2) O(N2) | O ( 1 ) O(1) O(1) | 不稳定 |
冒泡排序 | O ( N 2 ) O(N^2) O(N2) | O ( N 2 ) O(N^2) O(N2) | O ( 1 ) O(1) O(1) | 稳定 |
简单插入排序 | O ( N 2 ) O(N^2) O(N2) | O ( N 2 ) O(N^2) O(N2) | O ( 1 ) O(1) O(1) | 稳定 |
希尔排序 | O ( N 2 ) O(N^2) O(N2) | O ( N 2 ) O(N^2) O(N2) | O ( 1 ) O(1) O(1) | 不稳定 |
堆排序 | O ( N l o g 2 N ) O(N {\rm log}_2N) O(Nlog2N) | O ( N l o g 2 N ) O(N {\rm log}_2N) O(Nlog2N) | O ( 1 ) O(1) O(1) | 不稳定 |
快速排序 | O ( N l o g 2 N ) O(N {\rm log}_2N) O(Nlog2N) | O ( N 2 ) O(N^2) O(N2) | O ( l o g 2 N ) O({\rm log}_2N) O(log2N) | 不稳定 |
归并排序 | O ( N l o g 2 N ) O(N {\rm log}_2N) O(Nlog2N) | O ( N l o g 2 N ) O(N {\rm log}_2N) O(Nlog2N) | O ( N ) O(N) O(N) | 稳定 |
基数排序 | O ( D ( N + R ) ) O(D(N+R)) O(D(N+R)) | O ( D ( N + R ) ) O(D(N+R)) O(D(N+R)) | O ( N + R ) O(N+R) O(N+R) | 稳定 |
简单选择排序 & 堆排序
https://blog.csdn.net/m0_37728010/article/details/98207223
冒泡排序 & 快速排序
https://blog.csdn.net/m0_37728010/article/details/98227107
简单插入排序 & 希尔排序
https://blog.csdn.net/m0_37728010/article/details/98245627
归并排序 & 基数排序
https://blog.csdn.net/m0_37728010/article/details/98511550