- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
快速排序 ppt课件.ppt
快速排序导入 快速排序导入 – 冒泡排序过程 快速排序导入 – 冒泡排序过程 快速排序导入 – 冒泡排序过程 快速排序导入 快速排序导入 – 冒泡排序分析 对所有记录从左到右每相邻的元素进行比较 ,不符合要求则交换 快速排序导入 – 冒泡排序分析 快速排序导入 – 冒泡排序分析 快速排序思想 快速排序思想 快速排序讲解 快速排序讲解 快速排序讲解 快速排序讲解 快速排序讲解 快速排序讲解 快速排序讲解 快速排序完整代码 快速排序完整代码 算法分析 练习题 快速排序 作者:杨劲松 内容提要 快速排序导入 快速排序思想 快速排序讲解 快速排序算法分析 练习题 退出 请同学们使用冒泡排序的方法将下列数据排序:(从小到大) 21 25 49 16 25 06 目录 初始状态 第一次交换结束 目录 第二次交换 第二次交换结束 目录 第三次交换结束 第二次交换结束 第四次交换结束 目录 第六次交换结束 第五次交换结束 请同学们说说 冒泡排序是如何工作的 目录 冒泡排序的基本做法: 思考:在数据为以下排列时,冒泡的排序效果好不好? 49 25 25 21 16 06 初始状态是反序的,则需要进行n-1趟扫描 目录 从直观上49移动到最终的位置经过了n-1次比较和交换 49 25 25 21 16 06 06 16 21 25 25 49 能不能不经过n-1次比较和交换呢? 不能?这是由于冒泡排序中需要相邻的元素两两比较、交换 目录 基本思想: 1)寻找一个中心元素(通常为第一个数) 2)将小于中心点的元素移动至中心点之前,大于中心点的元素移动至中心点之后。 3)对上步分成的两个无序数组段重复1)、2)操作直到段长为1。 t <t >=t 目录 以21为中心元素 划分可得: 以06、49为中心元素 划分可得: 目录 选取中心元素的问题 选取第一个数为中心元素 如何划分问题 如何重复步骤①②将所有数据排序 使用递归 目录 当已知中心元素的前提下,怎样将其他元素划分好?(即:大于中心点在之后,小于中心点在之前) 需要解决的问题 i [0] [1] [2] [3] [4] [5] i=0 i=1 j=5 j=5 j i=1 j=3 i=1 j=4 i=2 j=3 i=2 j=2 算法终止 目录 请同学们思考 该算法有没有可以改进的地方 目录 i [0] [1] [2] [3] [4] [5] i=0 i=1 j=5 j=5 j i=1 j=3 i=1 j=4 i=2 j=3 i=2 j=2 算法终止 通过动画,可以看出每次中心元素都要交换。根据划分的思想最后位置一定是中心元素 可以申请一个变量保存中心元素,以避免交换 目录 i=left;j=right;int temp=a[left]; do { //从右向左找第1个不小于中心元素的位置j while( a[j] > temp && i<j) j--; if(i<j) { a[ I ] = a[ j ]; i++; } a[i]=temp; left,right用于限定要排序数列的范围,temp即为中心元素 程序填空 当前元素小于中心元素结束循环时,应当在中心元素的左边 移至左边 目录 //从左向右找第1个不大于中心元素的位置i while(a[i]<temp && i<j ) i++; if(i<j) { a[j]=a[i]; j--; } }while(i<j); a[i]=temp; //将中心元素t填入最终位置 程序填空 目录 函数头:quicksort(int a[],int left,int right) 初始化:i=left;j=right;int temp=a[left]; 划分:do{一次划分} while(i<j); 中心元素填入:a[i]=temp; 递归地对剩余段作快速排序 quicksort(a,left,i-1); quicksort(a,i+1,right); 目录 void quicksort(int a[],int left,int right) { int i,j; if(left<right) { i=left;j=right; int temp=a[left]; do { while(a[j]>temp && i<j) j--; if(i<j) { a[i]=a[j]; i++; } 目录 while(a[i]<temp && i<j) i++; if(i<j) { a[j]=a[i]; j--; } }while(i<j
您可能关注的文档
- 小学三年级语文老师家长会发言稿(共10篇).doc
- 小学五年级上册美术计划.doc
- 山东省德州20182019学年七年级上期中数学模拟试卷(含答案).doc
- 山东省招远2019届高三上学期10月月考数学(文)试卷(含答案).doc
- 山东省招远2019届高三上学期10月月考数学(理)试卷(含答案).doc
- 山东省淄博市周村区2018年中考二模数学试题(含答案解析).doc
- 山东省滨州市2018年中考数学二模试卷(含答案解析).doc
- 山东肥城市20182019学年度初三上期中模拟数学试题(青岛版).docx
- 希望之星英语风采大赛深圳赛区小学组初赛试卷及答案.doc
- 带式运输机二级圆柱齿轮减速器课程设计毕业论文.doc
- AUTOSAR_SWS_OS电子行业标准.pdf
- AUTOSAR_SWS_NVRAMManager电子行业标准.pdf
- r20ut3766ej0100_rfp电子行业标准.pdf
- AUTOSAR_SWS_SAEJ1939NetworkManagement电子行业标准.pdf
- AUTOSAR_SWS_PlatformTypes电子行业标准.pdf
- AUTOSAR_SWS_WatchdogDriver电子行业标准.pdf
- AUTOSAR_SWS_WirelessEthernetDriver电子行业标准.pdf
- AUTOSAR_TR_TimingAnalysis电子行业标准.pdf
- Continental_AUTOSAR Center电子行业标准.pdf
- EB_AUTOSAR Tooling in practice电子行业标准.pdf
1亿VIP精品文档
相关文档
最近下载
- 人教PEP版五年级下册英语全册教学课件(2024年2月修订).pptx
- DB32T 4301-2022《装配式结构工程施工质量验收规程》(修订).pdf
- 《经济博弈论(第三版)》谢识予PPT课件.ppt
- 2022届高三作文“兼听则明,偏信则暗”审题指导及优秀范文.docx VIP
- 2021-2022学年浙江省“9 1”高中联盟高一年级下册学期期中数学试题【含答案】.pdf
- 整数加法运算定律推广到小数教学设计.pdf VIP
- 给水管网改造施工方案.pdf
- 双馈异步风力发电控制系统研究.pdf
- 超星网课尔雅《国学智慧》超星尔雅答案2023章节测验答案.pdf
- 逻辑与思维+知识梳理课件-2024届高考政治一轮复习统编版选择性必修三.pptx VIP
文档评论(0)