zoukankan      html  css  js  c++  java
  • 排序算法复杂度速查表

     检验一个算法的优劣的很重要一个标准就是其算法复杂度。

    各种常用排序算法复杂度表
    类别 排序方法 时间复杂度 空间复杂度 稳定性
    平均情况 最好情况 最坏情况 辅助存储
    插入排序 直接插入 O(n2) O(n)
    O(n2) O(1) 稳定
    Shell排序 O(n1.3) O(n) O(n2) O(1) 不稳定
    选择排序 直接选择 O(n2) O(n2) O(n2) O(1) 不稳定
    堆排序 O(nlog2n) O(nlog2n) O(nlog2n) O(1) 不稳定
    交换排序 冒泡排序 O(n2) O(n) O(n2) O(1) 稳定
    快速排序 O(nlog2n)
    O(nlog2n) O(n2) O(nlog2n) 不稳定
    归并排序 O(nlog2n)
    O(nlog2n) O(nlog2n) O(1) 稳定
    基数排序 O(d(r+n))
    O(d(n+rd)) O(d(r+n)) O(rd+n) 稳定
    注:基数排序的复杂度中,r代表关键字的基数,d代表长度,n代表关键字的个数

    作者:耑新新,发布于  博客园

    转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com

  • 相关阅读:
    C++中的类访问控制
    Docker应用程序容器技术_转
    16C554(8250)驱动分析
    动态调频DVFS_转
    ubifs概述
    ubifs物理存储
    fmt-重新格式化段落
    uniq-删除重复
    sort
    join用法
  • 原文地址:https://www.cnblogs.com/Arthurian/p/6076758.html
Copyright © 2011-2022 走看看