内排序和外排序的定义
由于待排序的记录数量不同,使得排序过程中涉及的存储器不同,可将排序方法分为两大类:内排序与外排序。
1.内排序:待排序记录存放在计算机内存中进行的排序过程。插入排序、快速排序、选择排序、归并排序、基数排序等目前竞赛研究的算法基本上都是内排序方法。
2.外排序:待排序记录的数量很大,以致于内存不能一次容纳全部记录,所以在排序过程中需要对外存进行访问的排序过程。
衡量效率的方法
1.内排序:比较次数,也就是时间复杂度。
2.外排序:IO次数,也就是读写外存的次数。
排序稳定性
排序前后相同元素的相对位置不变,则称排序算法是稳定的,否则排序算法是不稳定的。如原序列ri=rj且ri位于rj之前,排序后ri仍在rj之前,则称该排序是稳定的。
常用排序算法复杂度
