一、被排序对象——文件
文件由一组记录组成
二、排序运算的依据——关键字
三、排序稳定性
稳定的排序 时间复杂度 和 空间复杂度
冒泡排序 最差、平均都是O(n平方) 最好是O(n) 1
双向冒泡排序 最差、平均都是O(n平方)最好是O(n) 1
插入排序 最差、平均都是O(n平方)最好是O(n) 1
归并排序 最差、平均、最好都是O(nlogn) O(n)
桶排序 O(n) O(K)
基数排序 O(dn)(d是常数) O(n)
二叉树排序 O(nlogn) O(n)
图书馆排序 O(nlogn) (1+e)n
不稳定的排序 时间复杂度 和 空间复杂度
选择排序 最差、平均都是O(n平方) 1
希尔排序 O(nlogn) 1
堆排序 最差、平均、最好都是O(nlogn) 1
快速排序 平均O(nlogn) 最坏情况O(n平方) O(logn)
四、排序方法的分类
1. 按是否涉及数据的内、外存交换分
2. 按策略划分内部排序方法: 插入排序、选择排序、交换排序、归并排序、分配排序
五、排序算法的基本操作
1. 比较两个关键字大小
2. 改变指向记录的指针或移动记录本身
六、待排文件的常用存储方式
七、排序算法性能评价
1. 评价排序算法好坏的标准:执行时间和所需辅助空间 算法本身的复杂度
2. 排序算法的空间复杂度
3. 排序算法的时间开销 依赖于关键字之间的比较和排序
MARK 待分析每一个排序