1、排序算法复杂度对比
排序算法 | 平均情况 | 最好情况 | 最坏情况 | 辅助空间 | 稳定性 |
---|---|---|---|---|---|
冒泡排序 | O( n 2 n^2 n2) | O( n n n) | O( n 2 n^2 n2) | O(1) | 稳定 |
简单选择排序 | O( n 2 n^2 n2) | O( n 2 n^2 n2) | O( n 2 n^2 n2) | O(1) | 不稳定 |
直接插入排序 | O( n 2 n^2 n2) | O( n n n) | O( n 2 n^2 n2) | O(1) | 稳定 |
希尔排序 | O( n l o g n nlogn nlogn)~O( n 2 n^2 n2) | O( n 1.3 n^{1.3} n1.3) | O( n 2 n^2 n2) | O(1) | 不稳定 |
堆排序 | O( n l o g n nlogn nlogn) | O( n l o g n nlogn nlogn) | O( n l o g n nlogn nlogn) | O(1) | 不稳定 |
归并排序 | O( n l o g n nlogn nlogn) | O( n l o g n nlogn nlogn) | O( n l o g n nlogn nlogn) | O( n n n) | 稳定 |
快速排序 | O( n l o g n nlogn nlogn) | O( n l o g n nlogn nlogn) | O( n 2 n^2 n2) | O( l o g n logn logn)~O( n n n) | 不稳定 |
2、表格来自老九学堂公众号,有兴趣的可以看看。