排序定义
排序是将序列中的记录按照排序码顺序排列起来,而排序码域的值具有不减(或不增)的顺序(这种说法比较严格)。
- 序列(Sequence):线性表,由记录组成。
- 记录(Record):结点,进行排序的基本单位。
- 关键码(Key):能唯一标示记录的一个或多个域。
- 排序码(Sort Key):作为排序运算依据的一个或多个域(有重复域时使用排序码,即关键码重复)。
内排序和外排序。
- 内排序:指在排序期间数据对象全部存放在内存的排序。
- 外排序:指在排序期间全部对象太多,不能同时存放在内存中,必须根据排序过程的要求,不断在内,外存间移动的排序。
正序 VS 逆序 序列
- 正序:待排序序列正好符合排序要求。
- 逆序:把待排序序列逆转过来,正好符合排序要求。
排序的稳定性
指如果序列中存在具有多个相同排序码的记录,则在排序后这些记录的相对次序保持不变。
排序算法衡量标准主要有
- 时间代价:记录的比较和移动次数。
- 空间代价。
- 算法本身的繁杂程序。