第十章 排序 排序定义——将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列叫~ 排序分类 按待排序记录所在位置 内部排序:待排序记录存放在内存 外部排序:排序过程中需对外存进行访问的排序 按排序依据原则 插入排序:直接插入排序、折半插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:简单选择排序、堆排序 归并排序:2-路归并排序 基数排序 按排序所需工作量 简单的排序方法:T(n)=O(n2) 先进的排序方法:T(n)=O(n*logn) 基数排序:T(n)=O(d*n) 排序基本操作 比较两个关键字大小 将记录从一个位置移动到另一个位置 10.1 插入排序 直接插入排序 排序过程:整个排序过程为n-1趟插入,即先将序列中第1个记录看成是一个有序子序列,然后从第2个记录开始,逐个进行插入,直至整个序列有序 折半插入排序 排序过程:用折半查找方法确定插入位置的排序叫~ 算法描述 2-路插入排序 目的减少移动记录次数(约为n2/8) 使用DS:辅助向量:d[1..n], 指针:first 和final(当前最小和最大值位置) 思想:将d[1]视为有序文件的中间记录,并将待插入记录 r[i].key与d[1] .key进行比较 若r[i].key<d[1] .key:则将r[i]插入

文档评论(0)

1亿VIP精品文档

相关文档