算法基础(三)——排序
来源:互联网 发布:巨人网络注册 编辑:程序博客网 时间:2024/06/03 05:45
我们先来看看几种排序的结构图:
排序是否稳定
比如:
排序前:2 5 7 6 4 2 9 3
排序后:2 2 3 4 5 6 7 9
排序前蓝2在红2前面,排序后蓝2依然在红2前面,则所用的排序方法是稳定的。
如果排序后,红2有可能在蓝2前面,那么所用的排序方法是不稳定的
下面说说前面几种排序的时间复杂度,不懂的话可以这么来想:
简直冒 快归队希尔
简:简单选择(直接选择)
直:直接插入
冒:冒泡
快:快速
归:归并
队:堆
再来看看这张表:
整理:
稳定性
排序方法
时间复杂度
空间复杂度
最好
平均
最坏
辅助空间
不
简
n2
n2
n2
1
稳
直
n
n2
n2
1
稳
冒
n
n2
n2
1
不
快
nlog2n
nlog2n
n2
nlog2n
稳
归
nlog2n
nlog2n
nlog2n
n
不
堆
nlog2n
nlog2n
nlog2n
1
不
希尔
n
n1.3
n2
1
稳
基数
平均一样的放在一起,这样看起来也方便了很多。
- 算法基础(三)——排序
- 算法基础(三)——排序 .
- 基础算法系列(三)——插入排序
- 基础排序算法(三)——对半插入排序
- 算法基础:排序(三)——快速排序——Python实现
- JAVA基础笔记三——几种排序算法
- 【基础算法】排序-复杂排序之三(堆排序)
- 【基础算法】排序-简单排序之三(插入排序)
- 【算法】排序算法(三)——归并排序
- PHP基础排序算法(三)插入排序
- 数据结构基础 排序算法(三)算法的稳定性
- 数据结构 — 排序算法(基础)
- 排序算法(三)——插入排序及改进
- 排序算法自我练习(三)——插入排序
- 排序算法(三)——冒泡排序
- 排序算法之——直接选择排序(三)
- 算法——排序(三)冒泡排序
- 排序算法(三)——插入排序
- Hibernate配置文件解析
- 定期任务的业务及其实现逻辑简单记录
- 快速排序<参考数据结构>
- 设计模式——工厂方法
- 你知道1+1=2是如何在cpu中运作的么?----跟我到cpu内部去看看吧!(1)
- 算法基础(三)——排序
- 面向对象语言编程的学习视频(类的封装性)
- 效率。。笔记
- 有关答疑事项
- 套接字究竟是什么?
- 安装monit
- 生成图片验证码的程序
- Windows API实现最最简单的窗口程序
- Spring mvc (三) [继承SimpleFormController配合formbean区别get和post请求]