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

一、排序算法的分类

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

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

e228483ca30e2bb8afc359c95a1cefe3.png

二、排序算法的复杂度

62f04e27df65b7189919cb30d8955f91.png

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

时间复杂度

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

空间复杂度

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

稳定性

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

原文链接:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值