基本概念插入排序交换排序选择排序归并排序基数排序内部排序比较外排序第9章排序关键字关键字(Key)(Key)作为排序依据的数据对象中作为排序依据的数据对象中的属性域
不同的数据对象若关键字互不的属性域
不同的数据对象若关键字互不相同相同,,则这种关键字称为主关键字
则这种关键字称为主关键字
排序排序使一组任意排列的对象变成一组按关使一组任意排列的对象变成一组按关键字线性有序的对象
键字线性有序的对象
排序算法的稳定性排序算法的稳定性判断标准:关键字相判断标准:关键字相同的数据对象在排序过程中是否保持前后同的数据对象在排序过程中是否保持前后次序不变
1基本概念基本概念排序方法的分类排序方法的分类按是否涉及数据的内、外存交换分类按是否涉及数据的内、外存交换分类外排序、内排序外排序、内排序按策略划分内部排序方法按策略划分内部排序方法插入排序、选择排序、交换排序、归插入排序、选择排序、交换排序、归并排序和基数排序
并排序和基数排序
排序算法性能评价排序算法性能评价评价排序算法好坏的标准主要有两条:评价排序算法好坏的标准主要有两条:算法执行所需要的时间和所需要的附加算法执行所需要的时间和所需要的附加空间
另外,算法本身的复杂程度也空间
另外,算法本身的复杂程度也是需要考虑的一个因素
是需要考虑的一个因素
不同存储方式的排序过程不同存储方式的排序过程以顺序表作为存储结构以顺序表作为存储结构对记录本身进行物理重排对记录本身进行物理重排以链表作为存储结构以链表作为存储结构无须移动记录,仅需修改指针
无须移动记录,仅需修改指针
用顺序的方式存储待排序的记录,但同用顺序的方式存储待排序的记录,但同时建立一个辅助表时建立一个辅助表只需对辅助表的表目进行物理重排,只需对辅助表的表目进行物理重排,适适用于难于在链表上实现,仍需避免排用于难于