文章目录
- 排序的基本概念
 - 排序方法的分类
 - 存储结构
 
排序的基本概念
什么是排序?
- 排序:将一组杂乱无章的数据按照一定规律顺次排列起来。 
  
- 即,讲无序序列排成一个有序序列(有小到大或由大到小)的运算。
 - 如果参加排序的数据结点包含多个数据域,那么排序往往是针对其中某个域而言。
 
 
排序的应用范围
- 软件中直接应用。
 
- 程序中间接应用。 
  
- 二分法查找
 - 最短路径、最小生成树……
 
 
排序方法的分类
- 按数据存储介质:内部排序和外部排序。
 - 按比较器个数:串行排序和并行排序。
 - 按主要操作:比较排序和基数排序。
 - 按辅助空间:原地排序和非原地排序。
 - 按稳定性:稳定排序和非稳定排序。
 - 按自然性:自然排序和非自然排序。
 
按存储介质分:
- 内部排序:数据量不大、数据在内存,无序内外交换数据。
 - 外部排序:数据量较大、数据在外存(文件排序)。 
  
- 外部排序时,要将数据分批调入内存来排序,中间结果还要及时放入外存,显然外部排序要复杂的多。
 
 
按比较器个数分:
- 串行排序:单处理机(同一时刻比较一对元素)。
 - 并行排序:多处理机(同一时刻比较多对元素)。
 
按主要操作分:
- 比较排序:用比较的方法 
  
- 插入排序、交换排序、选择排序、归并排序。
 
 - 基数排序:不比较元素的大小,仅仅根据元素本身的取值确定其有序位置。
 
按辅助空间分:
- 原地排序:辅助空间用量为 O(1) 的排序方法。 
  
- 所占的辅助存储空间与参加排序的数据量大小无关。
 
 - 非原地排序:辅助空间用量超过 O(1) 的排序方法。
 
按稳定性分:
- 稳定排序:能够使任何数值相等的元素,排序以后相对位置不变。
 - 非稳定性排序:不是稳定排序的方法。
 
- 排序的稳定性只对结构类型数据排序有意义。 
  
- 结构类型:数据当中包含了多个数据项。
 
 
按自然性分:
- 自然排序:输入的数据越有序,排序的速度越快的排序方法。
 - 非自然排序:一开始输入的数据比较有序,排序的速度反而慢了的排序方法。
 











![流批一体计算引擎-8-[Flink]的Table API连接器](https://img-blog.csdnimg.cn/4faf4c0a472e405d9c3edac3d11ebc85.png)














