数据结构学习十、排序算法介绍

排序算法介绍

基本介绍

排序也称为排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。

排序的分类

  • 内部排序

    指将需要处理的所有数据都加载到内部存储器中进行排序

  • 外部排序

    数据量过大,无法全部加载到内存中,需要借助外部存储进行排序

常见的排序算法分类

常用的排序算法对比

排序算法 平均时间复杂度 最好情况 最坏情况 空间复杂度 排序方式 稳定性
冒泡排序 O(n^2) O(n) O(n^2) O(1) 不占用额外内存 稳定
选择排序 O(n^2) O(n^2) O(n^2) O(1) 不占用额外内存 不稳定
插入排序 O(n^2) O(n) O(n^2) O(1) 不占用额外内存 稳定
O(n log n) O(n log2 n) O(n log2 n) O(1) 不占用额外内存 不稳定
排序 O(n log n) O(n log n) O(n log n) O(n) 占用额外内存 稳定
O(n log n) O(n log n) O(n^2) O(log n) 不占用额外内存 不稳定
O(n log n) O(n log n) O(n log n) O(1) 不占用额外内存 不稳定
O(n + k) O(n + k) O(n + k) O(K) 占用额外内存 稳定
O(n + k) O(n + k) O(n^2) O(n + k) 占用额外内存 稳定
O(n * k) O(n * k) O(n * k) O(n + k) 占用额外内存 稳定
  • 稳定是指:若a原本在b前面,经过排序后a仍然在b前面
  • 内排序:所有操作在内存中完成
  • 外排序:由于数据过大,因此把数据放在磁盘中,排序通过磁盘和内存的数据传输才能进行
  • k:桶的个数

猜你喜欢

转载自www.cnblogs.com/yfyyy/p/12483590.html
今日推荐