(11)排序算法——内部排序总结

归并排序和堆排序、快速排序的比较:

  • 若从空间复杂度来考虑:首选堆排序,其次是快速排序,最后是归并排序。
  • 若从稳定性来考虑,应选取归并排序,因为堆排序和快速排序都是不稳定的。
  • 若从平均情况下的排序速度考虑,应该选择快速排序。

问题1:为什么说快排要比堆排更好?

堆排序比较和交换的次数要比快排多,也就是常数因子比快排大,平均而言是要比快排慢的。

堆排基本上每次处理的元素都不是相邻的元素,对cashe来讲是极不友好的,这也是工业上不使用该方法的主要原因。

快速排序是实际应用中最广泛的一种排序方法。