数据结构几种常用排序算法总结

数据结构几种常用排序算法总结
其中,n表示数据规模,rd表示关键字取值个数,d表示关键字个数

稳定的排序方法:所有的简单排序,归并排序,基数排序
不稳定的排序方法:希尔排序,快速排序,堆排序
一般而言,排序过程中“比较”过程是在两个相邻关键字之间进行的排序方法是稳定的。

就地排序方法:所有简单排序,希尔排序,堆排序。
所需辅助空间最多是:归并排序

在所有平均时间复杂度为O(nlogn)的算法中 快速排序 平均性能是最好的,因为其常数因子最小。

插入排序:适用于n比较小,或者基本有序的情况,经常与其它方法结合
快速排序:不适用于原始序列有序或者基本有序的情况,此时退化为冒泡排序
堆排序:不适用于n比较小的情况,对n比较大的情况下还是比较有效的
归并排序:适用于n值很大,适用于分布式计算
基数排序:适用于n值很大,关键字较少的情况

总的来说—-没有最佳的排序方法,只有最合适的排序方法,很多情况都需要各种方法相结合。