内部排序算法性能小结

  内部排序按排序过程中依据的不同原则,则大致可分为:

  • 插入排序:从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列中的正确位置上的排序方法。
  • 交换排序:当每两个元素比较出现逆序时,就相互交换位置的排序方法。
  • 选择排序:从未排序序列中挑选元素,并将其放入已排序序列的一端的方法。
  • 归并排序:依次将每两个相邻的有序表合并成一个有序表的排序方法。
  • 基数排序:借助多关键字排序的思想对单逻辑关键字进行排序的方法。
    其中插入排序、交换排序、选择排序又分别有不同的排序方法:
    排序算法小结

各种排序算法所对应的时间复杂度、空间复杂度及排序稳定性如下表:

排序方法 平均时间 辅助空间 稳定性
直接插入排序 O(n2n^2) O(1) 稳定
折半插入排序 O(n2n^2) O(1) 稳定
希尔排序 O(n1.5n^{1.5}) O(1) 不稳定
起泡排序 O(n2n^2) O(1) 稳定
快速排序 O(nlognnlogn) O(lognlogn) 不稳定
简单选择排序 O(n2n^2) O(1) 不稳定
堆排序 O(nlognnlogn) O(1) 不稳定
归并排序 O(nlognnlogn) O(n) 稳定
基数排序 O(ndnd) O(rd) 稳定

今天的排序算法小结就先写到这里,有许多不足之处,有待以后改进吧!

相关文章:

  • 2021-10-02
  • 2021-05-27
  • 2021-06-08
  • 2021-10-24
  • 2022-01-11
  • 2021-11-16
猜你喜欢
相关资源
相似解决方案