标签:
1. 分类
2. 7种内排序算法的各种指标
排序方法 |
平均情况 |
最好情况 |
最坏情况 |
辅助空间 |
稳定性 |
移动次数的平均情况 |
移动次数的最好情况 |
移动次数的最坏情况 |
冒泡排序 |
O(n2) |
O(n) |
O(n2) |
O(1) |
稳定 |
O(n2) |
0 |
O(n2) |
简单选择排序 |
O(n2) |
O(n2) |
O(n2) |
O(1) |
稳定 |
O(n) |
0 |
O(n) |
直接插入排序 |
O(n2) |
O(n) |
O(n2) |
O(1) |
稳定 |
O(n2) |
O(n) |
O(n2) |
希尔排序 |
O(nlogn)~O(n2) |
O(n1.3) |
O(n2) |
O(1) |
不稳定 |
|
|
|
堆排序 |
O(nlogn) |
O(nlogn) |
O(nlogn) |
O(1) |
不稳定 |
|
|
|
归并排序 |
O(nlogn) |
O(nlogn) |
O(nlogn) |
O(n) |
稳定 |
|
|
|
快速排序 |
O(nlogn) |
O(nlogn) |
O(n2) |
O(logn)~O(n) |
不稳定 |
|
|
|
3. 分析(“>”表示优于)
从平均情况看:
堆排序、归并排序、快速排序 > 希尔排序 > 简单算法
从最好情况看:
冒泡排序、直接插入排序 > 其它算法
从最坏情况看:
堆排序、归并排序 > 其它算法
从空间复杂度看:
简单算法、希尔排序、堆排序 > 快速排序 > 归并排序
从稳定性看:
简单算法、归并排序 > 希尔排序、堆排序、快速排序
从移动次数的平均情况看:
简单选择排序 > 冒泡排序、直接插入排序
从移动次数的最好情况看:
简单选择排序、冒泡排序 > 直接插入排序
从移动次数的最坏情况看:
简单选择排序 > 冒泡排序、直接插入排序
4. 结论
标签:
原文地址:http://www.cnblogs.com/dgjamin/p/4328589.html