一、排序算法的介绍
排序就是将一组数据,依指定的顺序进行排列的过程。
二、排序的分类
1、内部排序
指将需要处理的所有数据,都加载到内部存储器(内存)中进行排序。
2、外部排序
数据量过大,无法全部加载到内存中,需要借助外部存储(文件等)进行排序。
三、常见的排序算法
1、内部排序
2、外部排序
指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存,需要在内存和外部存储器之间进行多次数据交换,以达到排序整个文件的目的。
四、排序算法比较图:
术语解释:
- 稳定:若a 原本在b 前面,且a = b ,排序之后a 仍然在b 的前面;
- 不稳定:若a 原本在b 前面,且a = b ,排序之后a 可能出现在b 的后面;
- 内排序:所有排序操作都在内存中完成;
- 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;
- 时间复杂度:一个算法执行所耗费的时间;
- 空间复杂度:运行完一个程序所需内存的大小;
- n:数据规模;
- k:“桶”的个数;
- In-place:不占同额外内存;
- Out-place:占用额外内存;