一、排序的基本概念
排序
是对数据元素序列建立某种有序排列的过程,是把一个数据元素序列整理成按关键字递增(或递减)排列的过程。
学生成绩表
关键字
是要排序的数据元素集合中的一个域,排序是以关键字为基准进行的。
主关键字(key)
数据元素值不同时该关键字的值也一定不同,是能够惟一区分各个不同数据元素的关键字;不满足主关键字定义的关键字称为次关键字。
内部排序
是把待排数据元素全部调入内存中进行的排序。
外部排序
是因数量太大,把数据元素分批导入内存,排好序后再分批导出到磁盘和磁带外存介质上的排序方法。
二、比较排序算法优劣的标准:
(1)时间复杂度(最重要的标准)
它主要是分析记录关键字的比较次数和记录的移动次数;O(n2)O(nlbn)
(2)空间复杂度
算法中使用的内存辅助空间的多少;O(1)O(n)
(3)稳定性
使用次关键字排序,若两个记录A和B的关键字值相等,如果排序后A、B的先后次序保持不变,则称这种排序算法是稳定的