排序的时间复杂度_排序算法复杂度

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:56   1593   0

一、排序算法的分类

非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。

线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。

e228483ca30e2bb8afc359c95a1cefe3.png

二、排序算法的复杂度

62f04e27df65b7189919cb30d8955f91.png

为了方便记忆,给出一些记忆规律。

时间复杂度

  1. 选择排序:都是
  2. 堆排序、归并排序:都是
  3. 计数排序:都是
  4. 基数排序:都是
  5. 插入排序、冒泡排序:最好是
    ,其它情况都是
  6. 快速排序:最坏是
    ,其它情况都是
  7. 希尔排序:三种情况皆不同。也是插入排序的一种,跟插入排序差不多,但平均复杂度更好些,是
  8. 桶排序:三种情况皆不同。平均是
    ,最坏是
    ,最好是

空间复杂度

  1. 线性排序都是
  2. 快速排序是:
  3. 归并排序是:
  4. 其它都是:

稳定性

  1. 希、选、快、堆:不稳定。
  2. 其余:稳定。

原文链接:

十大经典排序算法的复杂度分析_网络_lzzw的学习之路-CSDN博客

如有错误,请更正指出,谢谢!

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP