forked from go/golangs_learn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.0 KiB
38 lines
1.0 KiB
4 years ago
|
# 排序算法
|
||
|
|
||
|
* **引言**
|
||
|
|
||
|
> 排序是数据处理中十分常见且核心的操作,虽说实际项目开发中很小几率会需要我们手动实现,各种集成的api已经帮我们省略了思考如何构建排序的时间,但如果我们从原理上出发,了解它们的实现机制,对我们学习算法还是十分有好处的。
|
||
|
|
||
|
* **排序分类**
|
||
|
|
||
|
> 八大排序算法均属于内部排序。如果按照策略来分类,大致可分为:交换排序、插入排序、选择排序、归并排序和基数排序。如下图所示:
|
||
|
|
||
|
![分类](.\img\分类.png)
|
||
|
|
||
|
|
||
|
|
||
|
* **总结**
|
||
|
|
||
|
![总结](.\img\总结.png)
|
||
|
|
||
|
|
||
|
|
||
|
* 关键词
|
||
|
* 冒泡排序
|
||
|
* 形如冒水泡(大数)
|
||
|
* 快速排序
|
||
|
* 归位(关于某值对称的数组)
|
||
|
* 递归
|
||
|
* 直接插入排序
|
||
|
* 扫描位置(指插入的位置)
|
||
|
* 希尔排序
|
||
|
*
|
||
|
* 简单选择排序
|
||
|
* 扫描一遍(获取最小数)
|
||
|
* 对调位置
|
||
|
* 堆排序
|
||
|
* 归并排序
|
||
|
* 将两个数组排有序
|
||
|
* 将两个数组归并到一起
|
||
|
* 基数排序
|