排序算法(九):总结
来源:互联网 发布:java读取日志文件处理 编辑:程序博客网 时间:2024/06/05 21:09
1、算法分类
根据算法采用的主要操作,可以将算法分为:插入排序、交换排序、归并排序、选择排序四大类,前面介绍的七种算法分别归属这四大类。
排序算法插入排序交换排序选择排序归并排序插入排序希尔排序冒泡排序快速排序选择排序堆排序归并排序从算法的简单性来看,又可分为:简单算法、改进算法:
简单算法:冒泡排序、插入排序、选择排序
改进算法:希尔排序、堆排序、归并排序、快速排序
2、算法性能
排序方法平均情况最好情况最坏情况辅助空间稳定性冒泡排序O(n^2)O(n)O(n^2)O(1)稳定选择排序O(n^2)O(n^2)O(n^2)O(1)稳定插入排序O(n^2)O(n)O(n^2)O(1)稳定希尔排序O(nlogn)~O(n^2)O(n^1.3)O(n^2)O(1)不稳定堆排序O(nlogn)O(nlogn)O(nlogn)O(1)不稳定归并排序O(nlogn)O(nlogn)O(nlogn)O(n)稳定快速排序O(nlogn)O(nlogn)O(n^2)O(logn)~O(n)不稳定由以上表格可以看出:a、当待排记录较少时,采用简单排序算法较优。
b、对于非常在乎稳定性的应用,归并排序是较好的选择。
c、从空间复杂度来说,归并排序与快速排序都需要一定的空间消耗,而堆排序的空间复杂度为O(1),是较好的选择。
d、从时间复杂度来说,堆排序与归并排序比较稳定,最好情况与最坏情况的时间消耗相同,而快速排序不稳定,最好情况与最坏情况相差较大。
0 0
- 排序算法(九):总结
- 排序算法(九)——八大排序算法总结
- java排序算法(九)--排序算法总结分析
- 排序算法(九)——八大排序算法总结
- 排序算法(九)——八大排序算法总结
- 【排序算法】:九大排序算法总结
- 九大排序算法总结
- 九种排序算法总结
- 九大排序算法总结
- 九大排序算法总结
- 九大排序算法总结
- 九大排序算法总结
- 九大排序算法总结
- 九大排序算法总结
- 九大排序算法总结
- 九大排序算法总结
- 九大排序算法总结
- 九大排序算法总结
- 技术博客记录
- uiview的animation动画
- sql 数据分析
- js实现文字动态显示效果
- 关于JS里的全局变量和局部变量
- 排序算法(九):总结
- VersionCode和VersionName的区别
- dos2unix 在 mac 上批量转换
- sql
- MBR及linux下grub执行原理浅析
- linux nohup命令
- 快速排序 图解算法过程
- 默认构造函数
- sql