内部排序,指的是待排序记录存放在计算机随机存储器中进行的排序过程。外部排序,指的是待排序记录的数量很大,以致内存一次不能够容纳全部记录,在排序过程中尚需对外存进行访问的排序过程(摘自严蔚敏版数据结构)。
在待排序的文件中,经过某种排序算法后,相同关键字记录之间的相对次序保持不变,可以称该排序方法是稳定的,反之,就是不稳定的。
内部排序算法的时间复杂度和空间复杂度对比表
类别 |
排序方法 |
时间复杂度 |
空间复杂度 |
稳定性 |
||
最好情况 |
最坏情况 |
平均情况 |
辅助空间 |
|||
插入 |
直接插入 |
O(n) |
O(n2) |
O(n2) |
O(1) |
稳定 |
排序 |
希尔排序 |
时间复杂度与增量序列的选取有关 |
O(1) |
不稳定 |
||
选择 |
直接选择 |
O(n2) |
O(n2) |
O(n2 |