对比表格
| 分类 | 算法 | 时间复杂度 | 空间复杂度 | 稳定性 | 关联性 | ||
| 最好 | 最差 | 平均 | |||||
| 插入排序 | 直接插入排序 | O(n)(优化后) | O(n2) | O(n2) | O(1) | 稳定 | |
| 希尔排序 | O(n) | O(n2) | 不确定 | O(1) | 不稳定 | 基于直接插入排序 | |
| 选择排序 | 直接选择排序 | O(n2) | O(n2) | O(n2) | O(1) | 不稳定 | |
| 堆排序 | O(nlogn) | O(nlogn) | O(nlogn) |
就地排序-O(1) |
不稳定 | 应用了选择的理念 | |
| 交换排序 | 冒泡排序 | O(n)(优化后) | O(n2) | O(n2) | O(1) | 稳定 | |
| 快速排序 | O(nlogn) | O(n2) | O(nlogn) |
最好O(logn), 最差O(n) |
不稳定 | 基于冒泡排序 | |
| 归并排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(n) | 稳定 | ||
| 基数排序 |
O(d*(n+r)) d是位数,r是基数, n是比较的数目 |
O(d*(n+r)) | O(d*(n+r)) | O(n+r) | 稳定 | ||
各种排序算法的比较(最好、最差、平均时间复杂度,空间复杂度,稳定性)
原文:http://www.cnblogs.com/mydesky2012/p/5648087.html