- 0
- 0
- 约2.16万字
- 约 103页
- 2019-05-06 发布于广东
- 举报
第 五章 内排序 第 五章 内排序 5.1 基本概念 5.2 插入排序 5.3 选择排序 5.4 交换排序 5.5 分配排序 5.6 归并排序 5.7 各排序算法的理论和实验时间代价 5.8 排序问题的下限 5.1 基本概念 分类 内排序(Internal Sorting):整个排序过程中,所有的记录都可以直接存放在内存中 外排序(External Sorting):内存无法容纳所有记录,排序过程中还需要访问外存 注,在排序中常用“记录”替代结点,由记录序列构成“文件”——线性表 按排序所用的策略的不同排序的方法可分为五种:插入排序,选择排序,交换排序,分配排序,归并排序。 5.1 基本概念 记录(Record):结点,进行排序的基本单位 关键码(Key):唯一确定记录的一个或多个域 排序码(Sort Key) :记录中的一个或多个字段 其值是排序运算的依据 可以是关键码,排序的结果是唯一的 也可以不是关键码,排序的结果可能不唯一 类型:整数,字符串,结构体。为讲述上的方便,我们讨论一字段整型关键码 5.1 基本概念 排序 (Sorting):给定一个序列 R ={r1, r2,···,rn},其相应的排序码序列为k ={k1,k2 ,···,kn}。排序就是这样的运算:将R中的记录按照特定的顺序重新排列,形成一个新的有序序列 R’= {r’1, r’2,···,r’n} 相应排序码为k’ ={k’1, k’2,···,k’n},它们有关系: k’1≤k’2≤···≤k’n 或 k’1≥k’2≥···≥k’n 前者称为不减序,后者称为不增序 5.1 基本概念 关系是任意的,如经常使用的小于、大于等 稳定与不稳定:若记录序列中的任意两个记录 Rx,Ry 的排序码 kx=ky ;如果在排序之前和排序之后,这两个记录的相对位置保持不变,则这种排序方法是稳定的,否则是不稳定的 5.1 基本概念 排序中的两种基本操作: 比较两个排序码的大小(通常是必须的) 将记录从一个位置移动至另一个位置(可用存储结构避免) 排序的结果 记录物理重排:移动记录 辅助表物理重排:移动辅助表目 记录和辅助表目均不移动:辅助表用指针链表示排序后记录的位置 5.1 基本概念 正序与逆序序列 “正序”序列:待排序序列正好符合排序要求 “逆序” 序列:把待排序序列逆转过来,正好符合排序要求 待排序的记录序列的存储方式 顺序表 记录用顺序表存储,另用地址向量(辅助表)存放各记录的地址 静态链表 5.1 基本概念 排序算法的评价标准 算法执行的时间开销(最重要的标志):主要可用算法执行中比较次数和移动次数来衡量。(后述给出最坏或平均情况估算) 执行算法所需的附加空间:通常所用附加空间量不大 算法本身的复杂程度 5.2 插入排序 5.2.1 直接插入排序 5.2.2 二分法(折半)插入排序 5.2.3 表插入排序 5.2.4 Shell排序 5.2 .1 直接插入排序 算法思想:逐个处理待排序的记录,每个新记录都要与前面那些已排好序的记录进行比较,然后插入到适当的位置 排序过程:整个排序过程为n-1趟插入,即先将序列中第1个记录看成是一个已排好子序列,然后从第2个记录开始,逐个进行插入,直至整个序列有序 算法IS[直接插入排序] IS1[置排序趟数初值] i←2 IS2[设置监视哨及移动初值] R[0]←R[i],j←i-1 IS3[找插入位置] 若R[0].keyR[j].key则执行IS4,否则执行IS5 IS4[记录后移] R[j+1]←R[j],j←j-1,反复执行IS3 IS5[插入] R[j+1]←R[0] IS6[排序完成否] 若i=n算法结束,排序结果在R中,否则i←i+1,反复执行IS2 C函数 void InsertSort( Rcdlist R, int n ){ int i,j; for(i=2;i=n;i++) { R[0]=R[i]; //设置监视哨 j=i-1; //从有序子序列的最末元素开始比较 while(R[0].keyR[j].key) {R[j+1]=R[j]; j--; } //第j个元素的排序码大于 哨位上的元素排序码则后移 R[j+1]=R[0] ; } //for } // InsertSort 5.2.2 二分法插入排序 直接插入排序中,在插入记录Ri时,改用二分法来查找插入的位置 算法思想:在插入Ri时,前面的记录R1, R2 ,···, Ri -1已经排好序了,因此可有二分法找到Ri的插入位置 5.2.2 二
您可能关注的文档
- 广西桂林医学院内科学课件 4支气管哮喘.ppt
- 广西桂林医学院内科学课件 6气胸.ppt
- 广西桂林医学院内科学课件 7肺部感染性疾病.ppt
- 广西桂林医学院内科学课件 8肺癌症.ppt
- 广西桂林医学院内科学课件 9呼吸衰竭.ppt
- 广西桂林医学院内科学课件 泌尿系统-3尿路感染的防治.ppt
- 广西桂林医学院内科学课件 循环系统-5心律失常(3-4节).ppt
- 广西经济管理干部学院贸易经济系分销渠道管理课件第三章 分销渠道战略规划.ppt
- 广西经济管理干部学院贸易经济系分销渠道管理课件第四章 不同类型产品的分销渠道构建.ppt
- 广西师范大学教育科学学院中学心理健康教育课件第二章 中学生生理、心理的发展.ppt
- 全过程工程管理造价咨询工程监理项目服务方案投标方案(技术部分).doc
- 招标代理服务投标技术服务方案(技术方案).doc
- AI大模型与AIGC技术在公安领域的应用解决方案(99页 PPT).pptx
- 工业4.0智能制造数字工厂规划方案.pptx
- 树立社会主义核心价值观.docx
- 三年(2023-2025)中考历史真题分类汇编(全国)专题21 科技文化与社会生活(解析版).docx
- 2025年中考道德与法治真题完全解读(吉林卷).pdf
- 2025年中考道德与法治真题完全解读(安徽卷).pdf
- 三年(2023-2025)中考历史真题分类汇编(全国)专题14 人民解放战争(解析版).pdf
- 三年(2023-2025)广东中考历史真题分类汇编:专题03 中国近代史(八年级上册)(解析版).docx
最近下载
- 500t吊车性能表(中文版).pdf VIP
- 人教版八年级上历史知识点总结 .doc VIP
- 米莉的帽子变变变精品解析.ppt VIP
- 职业教育人工智能应用发展报告(2024-2025).pptx VIP
- 2025年高等教育医学类自考-03037药用植物学考试近5年真题集锦(频考类试题)带答案.docx VIP
- TCAQ10201-2024质量管理小组活动准则_可搜索.pdf VIP
- 确定肿瘤的重要基因信息——提取基因图谱信息方法的研究.pdf VIP
- 事业单位嫖娼违法写检讨书.docx VIP
- 人教版物理8年级下册全册教学课件.pptx
- 第二十五章+图形的相似(复习课件)数学冀教版九年级上册.pptx VIP
原创力文档

文档评论(0)