插入类 | 选择类 | 交换类 | 归并类 |
---|---|---|---|
直接插入排序 | 简单选择排序 | 冒泡排序 | 归并排序 |
希尔排序 | 堆排序 | 快速排序 |
稳定性:所有相等的数经过某种排序方法后,仍能保持它们在排序之前的性对位置次序,这种排序方法就是稳定的。
其中简单选择排序稳定性有争议。
从时间复杂度来看,堆排序和归并排序更加发挥稳定O(nlogn),快速排序不稳定O(nlogn~n^2)。
从空间复杂度来看,归并排序O(n)和快速排序O(logn)都要求相应的空间,堆排序则需要很少。
从稳定性来说,归并排序稳定,快速排序和堆排序不稳定。
从数据个数来说,数据n较小时,采用简单的排序方法合适,n较大时采用改进的排序方法。
直接插入排序对大部分有序的情况较好。