【转】算法总结-这是一份全面并且详细的排序算法学习指南
算法总结-这是一份全面并且详细的排序算法学习指南
觉得有用的话,欢迎一起讨论相互学习~
本文转载自:CSDN博主-Carson带你学Android
本文仅做学术分享,如有侵权,请联系后天删除
版权声明:本文为CSDN博主「Carson带你学Android」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/carson_ho/article/details/121204011
目录
1. 简介
注:在本文中,主要介绍 内排序中的排序算法。
2. 排序算法介绍
在内排序算法中,可按照 排序原理 & 排序复杂度 进行分类
下面,我将根据 排序原理的分类 来介绍 内排序中的所有排序算法。
2.1 交换排序类
包括:冒泡排序 & 快速排序(冒泡排序的优化),具体请看文章:
2.2 插入排序类
包括:直接插入排序 & 希尔排序(直接插入排序的优化),具体请看文章:
2.3 选择排序类
包括:简单选择排序 & 堆排序(简单选择排序的优化),具体请看文章:
2.4 归并排序类
主要是:排序算法:归并排序
3. 排序算法对比
4. 应用场景分析
即:
- 最简单的排序算法:冒泡排序
- 一般情况下性能最好的排序算法:快速排序
- 不可不了解的排序算法:直接插入排序
- 复杂度最高的排序算法:希尔排序
- 稳定性最高的排序算法:归并排序
- 数据量大时最该选择的算法:简单选择排序
- 内存占用最少的排序算法:堆排序
5. 总结
下面,用一张图总结所有排序算法的相关