简介
内部排序算法就是指内存中的排序算法,而外部排序算法则是指待排序数据过多,无法一次性加载到内存中,排序过程需要读取磁盘,因此需要考虑磁盘 IO 的消耗!
内部排序算法分类
内部排序算法按照操作类型可大致分为五类:①插入排序;②交换排序;③选择排序;④归并排序;⑤计数排序;
内部排序算法按照时间复杂度可大致分为三类:
- 简单排序方法,时间复杂度:O(n^2)
- 先进排序方法,时间复杂度:O(nlogn)
- 基数排序,时间复杂度:O(d * n)
插入排序
插入排序又可细分为以下三类:
- 直接插入排序(Straight Insertion Sort):将一个记录插入到已排好序的有序表中,从而得到一个新的记录数增 1 的有序表;
- 折半插入排序(Binary Insertion Sort):在直接插入排序算法上加上折半查找思维来优化;
- 2-路插入排序:
- 希尔排序(Shell‘s Sort),又称缩小增量排序(Diminishing Increment Sort):