- 1、本文档共105页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八篇 章 排序 数据结构 .ppt
假设在排序过程中,记录序列R[1..n]的状态为: 第 i 趟冒泡排序 无序序列R[1..n-i+1] 有序序列 R[n-i+2..n] n-i+1 无序序列R[1..n-i] 有序序列 R[n-i+1..n] 比较相邻记录,将关键字最大的记录交换到 n-i+1 的位置上 【冒泡排序示例】--相邻两数比较,大值下沉 初始状态 [65 97 76 13 27 49 58] 第1趟 [65 76 13 27 49 58] 97 第2趟 [65 13 27 49 58] 76 97 第3趟 [13 27 49 58] 65 76 97 第4趟 [13 27 49] 58 65 76 97 第5趟 [13 27] 49 58 65 76 97 第6趟 [13] 27 49 58 65 76 97 设待排记录序列的关键字为(65,97,76,13,27,49,58) 冒泡排序每一趟执行后的序列状态如下: [练习] 已知序列{17,18,55,40,7,32,73,65,89},请给出采用冒泡排序法对该序列作升序排序的每一趟的结果。 已知序列{17,18,55,40,7,32,73,65,89},请给出采用冒泡排序法对该序列作升序排序的每一趟的结果。 初始: 17,18,55,40,7,32,73,65,89 第1趟:17,18,40,7,32,55,65,73,89 第2趟:17,18,7,32,40,55,65,73,89 第3趟:17,7,18,32,40,55,65,73,89 第4趟:7,17,18,32,40,55,65,73,89 第5趟:7,17,18,32,40,55,65,73,89 第6趟:7,17,18,32,40,55,65,73,89 第7趟:7,17,18,32,40,55,65,73,89 第8趟:7,17,18,32,40,55,65,73,89 第9趟:7,17,18,32,40,55,65,73,89 【练习答案】 [目标]:找一个记录,以它的关键字作为“枢轴”,凡其关键字小于枢轴的记录均移动至该记录之前,反之,凡关键字大于枢轴的记录均移动至该记录之后。 致使一趟排序之后,记录的无序序列R[s..t]将分割成两部分:R[s..i-1]和R[i+1..t],且 R[j].key≤ R[i].key ≤ R[j].key (s≤j≤i-1) 枢轴 (i+1≤j≤t)。 一趟快速排序(一次划分) 二、快速排序 s t low high 设 R[s]=52 为枢轴 将 R[high].key 和 枢轴的关键字进行比较,要求R[high].key ≥ 枢轴的关键字,则不交换 将 R[low].key 和 枢轴的关键字进行比较,要求R[low].key ≤ 枢轴的关键字,则交换两数 high 23 low high low [例] R[0] 52 low high high high low 【快速排序示例】 52 80 52 14 52 52 可见,经过“一次划分” ,将关键字序列 52, 49, 80, 36, 14, 58, 61, 97, 23, 75 调整为: 23, 49, 14, 36, (52) 58, 61, 97, 80, 75 [快速排序基本思想] 首先对无序的记录序列进行“一次划分”,之后分别对分割所得两个子序列“递归”进行快速排序。 无 序 的 记 录 序 列 无序记录子序列(1) 无序子序列(2) 枢轴 一次划分 分别进行快速排序 快速排序的时间复杂度为O(nlogn) 第1趟: (23, 49, 14, 36) 52 (58, 61, 97, 80, 75) 第2趟: (14) 23( 49, 36) 52 58 (61, 97, 80, 75) 第3趟: 14 23 ( 36) 49 52 58 61(97, 80, 75) 第4趟: 14 23 36 49 52 58 61(75, 80) 97 第5趟: 14 23 36 49 52 58 61 75 ( 80) 97 第6趟: 14 23 36 49 52 58 61 75 80 97 [练习] 已知
您可能关注的文档
- 第五课 画杨桃教材课程.ppt
- 第五课 约会 泰语 教程文件.ppt
- 第五课 课文 我听过钢琴协奏曲《黄河》 课文 (一) 我吃过中药 初级汉语 汉语(外国老师使用的资料)教程教案.ppt
- 第五课 透过现象认识的本质第二节 学会分析事物的本质认识的根本任务课件讲解材料.ppt
- 第五课—语法 我听过钢琴协奏曲《黄河》 初级汉语 汉语(外国老师使用的资料)幻灯片课件.ppt
- 第五课价值观 大学生成功之路 ——成功的指南针教程文件.ppt
- 第五课时 如何鉴赏诗歌的意境知识讲稿.ppt
- 第五课电化学动力学 高等工程热力学课件教学教材.ppt
- 第五部分 光生物物理学宣讲培训.ppt
- 第八单元 装饰工程费计算 《装饰工程预算》课件教程文件.ppt
文档评论(0)