各种排序算法的比较(最好、最差、平均时间复杂度,空间复杂度,稳定性)
2016-07-06 21:04
399 查看
对比表格
分类 | 算法 | 时间复杂度 | 空间复杂度 | 稳定性 | 关联性 | ||
最好 | 最差 | 平均 | |||||
插入排序 | 直接插入排序 | O(n)(优化后) | O(n2) | O(n2) | O(1) | 稳定 | |
希尔排序 | O(n) | O(n2) | 不确定 | O(1) | 不稳定 | 基于直接插入排序 | |
选择排序 | 直接选择排序 | O(n2) | O(n2) | O(n2) | O(1) | 不稳定 | |
堆排序 | O(nlogn) | O(nlogn) | O(nlogn) | 就地排序-O(1) | 不稳定 | 应用了选择的理念 | |
交换排序 | 冒泡排序 | O(n)(优化后) | O(n2) | O(n2) | O(1) | 稳定 | |
快速排序 | O(nlogn) | O(n2) | O(nlogn) | 最好O(logn), 最差O(n) | 不稳定 | 基于冒泡排序 | |
归并排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(n) | 稳定 | ||
基数排序 | O(d*(n+r)) d是位数,r是基数, n是比较的数目 | O(d*(n+r)) | O(d*(n+r)) | O(n+r) | 稳定 |
相关文章推荐
- 这里有一份面筋请查收(八)
- APP开发实战80-Fragment的使用场景
- erlang模块化对象用法
- WPF实现物理效果 拉一个小球
- 如果忘记了密码,或系统显示信息称设备已停用
- Android LayoutInflate.Inflate(二)
- 这里有一份面筋请查收(八)
- 树状数组 模板:敌兵布阵
- php生成mysql的数据字典
- NHibernate系列文章十四:NHibernate事务
- [3D 图形学基础] 读书笔记(3) Part_I(Getting Started) - Affine 仿射
- Windows Server 2012 R2 AD DS搭建
- APP开发实战79-Fragment和Activity比较
- hibernate插入数据库乱码的两种解决方式
- The entitlements specified in your application’s Code Signing Entitlements file do not match those s
- 教你手工检测SQL注入
- 112. Path Sum
- mysql基础---基础SQL语句
- 1016 Problem P
- typedef在函数回调上面的应用