第七章 排 序7.1 排序问题的基本概念Struct student{ char name[10]; int score; int ID;}文件:给定待排序的 n 个数据对象,R1,R2,…,Rn,这些数据对象为记录,并称这 n 个记录的集合为一个文件;关键词通常数据对象包括多个属性域,可将其中的一个属性域作为排序的依据,称其为关键词域。上述 n 个记录的关键词分别是 K1,K2,…,Kn;排序按规定的顺序,以关键词为依据,对一个文件中的诸记录进行排列的过程。排序算法的度量指标:时间开销(时间复杂性)是衡量算法好坏的最重要标志。可用算法执行中关键词的比较次数与数据的移动次数来衡量。空间复杂性主要考察排序过程占用存储空间的大小。排序算法的稳定性如果两个对象r[i]和r[j], 其关键词相同, 且在排序前r[i]在r[j]的前面,若排序后,r[i]仍在r[j]的前面,则称这个排序方法是稳定的,否则称这个排序方法是不稳定的。排序算法的分类从存储设备角度可分为内排序和外排序. 在排序过程中, 所有待排序记录都在内存中, 称为内排序; 当输入文件所占存储空间大到计算机内存不能容纳, 排序过程必需借助外存来完成,这时的排序就称为外排序.按对关键词的操作可分为基于关键词比较的排序和分布排序。按时间代价平方阶排序算法,它们一般都较简单,易于实现,但时间复杂性较高,最坏情况时间复杂性为
原创力文档

文档评论(0)