博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
各种排序总结(总)
阅读量:4708 次
发布时间:2019-06-10

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

排序法

平均时间

最差情形

稳定度

额外空间

备注

冒泡

O(n2)

    O(n2)

稳定

O(1)

n小时较好

交换

O(n2)

    O(n2)

不稳定

O(1)

n小时较好

选择

O(n2)

O(n2)

不稳定

O(1)

n小时较好

插入

O(n2)

O(n2)

稳定

O(1)

大部分已排序时较好

基数

O(logRB)

O(logRB)

稳定

O(n)

B是真数(0-9),

R是基数(个十百)

Shell

O(nlogn)

O(ns) 1<s<2

不稳定

O(1)

s是所选分组

快速

O(nlogn)

O(n2)

不稳定

O(nlogn)

n大时较好

归并

O(nlogn)

O(nlogn)

稳定

O(n)

n大时较好

O(nlogn)

O(nlogn)

不稳定

O(1)

n大时较好

 

  1. 若n较小:直接选择或直接插入。此时如果记录本身信息量较大应选择直接选择排序,因为直接插入排序的移动记录次数比直接选择多很多。
  2. 若n较大,应选择时间为O(nlogn)的快排、归并或堆排序。快排时间依赖于数组原始情况,当原始数组较随机时时间短;归并不依赖与数组的原始情况,但是有空间代价为o(n)。
  3. 当原始数组基本有序时用直接插入或冒泡排序。

转载于:https://www.cnblogs.com/CnZyy/p/3314710.html

你可能感兴趣的文章
Lua -- 简洁、轻量、可扩展的脚本语言
查看>>
Python 2.7_Second_try_爬取阳光电影网_获取电影下载地址并写入文件 20161207
查看>>
[Fiddler] 开启Fiddler抓包的时候产品报“证书错误”
查看>>
打包苦逼活
查看>>
Oracle Certified Java Programmer 经典题目分析(二)
查看>>
第二十五章补充内容 17位字段
查看>>
灰色预测
查看>>
css随笔
查看>>
基于自己封装的select下拉选择的省市区三级联动效果,兼容IE
查看>>
初识Python
查看>>
nodejs+mysql入门实例(改)
查看>>
表达式语言
查看>>
jQuery EasyUI实现关闭全部tabs
查看>>
iOS项目之WKWebView替换UIWebView相关
查看>>
Lambda表达式效率问题
查看>>
【转载】iOS 设置Launch Image 启动图片(适用iOS9)
查看>>
最快得到MYSQL两个表的差集
查看>>
UML类图关系
查看>>
清理Visual Studio打开的项目和文件、查找和最近引用组件痕迹
查看>>
正则表达式速查表
查看>>