Sorting Algorithm-Summarize

Sorting Algorithm-Summarize_第1张图片

从算法的简单性能来看,我们将这些排序算法分为两类:

简单排序:冒泡、简单选择、直接插入

改进算法:希尔、堆、归并、快速

从平均情况来看,显然最后3种改进算法要胜过希尔排序,并远远胜过前3种简单算法。

从最好情况看,反而冒泡和直接插入排序要更胜一筹,也就是说,如果你的待排序序列总是基本有序,反而不应该考虑4中复杂的还进算法。

从最坏情况来看,堆排序与归并排序又强过快速排序以及其他简单排序。

从空间复杂度来说,归并排序和快速排序需要的内存多一些。

从稳定性来说,归并排序是最好的。

从待排序记录的个数来说,待排序的个数n越小,采用简单排序方法越合适。反之,n越大,采用改进排序方法越合适。

简单排序适用于数据量不是很大而记录的关键字信息量较大的排序要求。

综合各项指标来说,经过优化的快速排序是性能最好的排序算法,但是不同的场合我们也应该考虑使用不同的算法来应对它。

你可能感兴趣的:(排序算法)