排序的分类-根据排序过程中所进行的基本操作分:
- 基于比较:基本操作——关键码的比较和记录的移动,其最差时间下限已经被证明为O(nlog2n)。
- 不基于比较:根据关键码的分布特征。比如,桶式排序,基数排序(多关键字排序)
基于比较的内排序
- 插入排序
- 交换排序
- 选择排序
- 归并排序
不基于比较的排序
1.分配排序
2.桶式排序
3.基数排序
排序算法的存储结构
从操作角度看,排序是线性结构的一种操作,待排序记录可以用顺序存储结构或链接存储结构存储。
假定1:采用顺序存储结构,关键码为整型,且记录只有关键码一个数据项。
假定2:将待排序的记录序列排序为升序序列。