博客
关于我
2020-03-25:快排、堆排和归并都是O(nlog n)的算法,为何JDK选择快速排序?
阅读量:306 次
发布时间:2019-03-01

本文共 652 字,大约阅读时间需要 2 分钟。

口诀解析:以下内容为多种排序算法的名称及相关性能指标分析。

口诀解析:

  • 冒泡排序(冒泡,选择,插入,希尔,快速,堆,归并,计数,桶,基数)
    • 最坏时间复杂度:O(n²)
    • 平均时间复杂度:O(n²)
    • 稳定性:不稳定
    • 空间复杂度:O(1)
    1. 插入排序(插线,平平,稳常序)
      • 最坏时间复杂度:O(n²)
      • 平均时间复杂度:O(n²)
      • 稳定性:稳定
      • 空间复杂度:O(n)
      1. 希尔排序(希线,四组,不常组)
        • 最坏时间复杂度:O(n log n)
        • 平均时间复杂度:O(n log n)
        • 稳定性:稳定
        • 空间复杂度:O(n)
        1. 快速排序(快四,四平,不对大)
          • 最坏时间复杂度:O(n²)
          • 平均时间复杂度:O(n log n)
          • 稳定性:不稳定
          • 空间复杂度:O(log n)
          1. 堆排序(堆四,四四,不常大)
            • 最坏时间复杂度:O(n log n)
            • 平均时间复杂度:O(n log n)
            • 稳定性:稳定
            • 空间复杂度:O(1)
            1. 归并排序(归四,四四,稳线大)
              • 最坏时间复杂度:O(n log n)
              • 平均时间复杂度:O(n log n)
              • 稳定性:稳定
              • 空间复杂度:O(n)
              1. 计数排序(计加,加加,稳k空)
                • 最坏时间复杂度:O(n)
                • 平均时间复杂度:O(n)
                • 稳定性:稳定
                • 空间复杂度:O(k)
                1. 桶排序(桶加,加平,稳加空)
                  • 最坏时间复杂度:O(n + k)
                  • 平均时间复杂度:O(n)
                  • 稳定性:稳定
                  • 空间复杂度:O(k)
                  1. 基数排序(基乘,乘乘,稳加空)
                    • 最坏时间复杂度:O(n k)
                    • 平均时间复杂度:O(n k)
                    • 稳定性:稳定
                    • 空间复杂度:O(k)

    转载地址:http://klmo.baihongyu.com/

    你可能感兴趣的文章
    ntpdate 通过外网同步时间
    查看>>
    ntpdate同步配置文件调整详解
    查看>>
    NTPD使用/etc/ntp.conf配置时钟同步详解
    查看>>
    NTP及Chrony时间同步服务设置
    查看>>
    NTP服务器
    查看>>
    NTP配置
    查看>>
    NUC1077 Humble Numbers【数学计算+打表】
    查看>>
    NuGet Gallery 开源项目快速入门指南
    查看>>
    NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
    查看>>
    nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
    查看>>
    Nuget~管理自己的包包
    查看>>
    NuGet学习笔记001---了解使用NuGet给net快速获取引用
    查看>>
    nullnullHuge Pages
    查看>>
    NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
    查看>>
    null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
    查看>>
    Numix Core 开源项目教程
    查看>>
    numpy
    查看>>
    NumPy 或 Pandas:将数组类型保持为整数,同时具有 NaN 值
    查看>>
    numpy 或 scipy 有哪些可能的计算可以返回 NaN?
    查看>>
    numpy 数组 dtype 在 Windows 10 64 位机器中默认为 int32
    查看>>