10.1 概述 排序是计算机程序设计中的一种重要操作; 功能是将一个包含若干数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。 例如:将下列关键字序列 52, 49, 80, 36, 14, 58, 61, 23, 97, 75 调整为 14, 23, 36, 49, 52, 58, 61 ,75, 80, 97 排序 关键字可以是记录的主关键字,也可以是次关键字,甚至是若干数据项的的组合。 若是主关键字,则任何一个记录的无序序列经排序后得到的结果是唯一的。 若是次关键字,因待排序序列中可能存在两个或两个以上关键字相同的记录,则排序的结果不唯一。 对于具有相同关键字的多个记录来说,若采用的排序方法使排序后记录的相对次序不变,则称此排序方法是稳定的,否则称所用的排序方法是不稳定的。 按照排序过程中依据的原则,把内部排序分为: 插入排序 快速排序 选择排序 归并排序 基数排序 按内部排序过程中所需的工作量,分为: 简单的排序方法,时间复杂度为O(n2) 先进的排序方法,时间复杂度为O(nlogn) 基数排序,时间复杂度为O(d·n) 待排序记录的存储方式: 1. 存放在一组地址连续的存储单元中,即顺序存储方式;可以用一维数组来表示,数组的第0个单元空闲或者作为哨兵单元,记录之间的次序关系由其存
原创力文档

文档评论(0)