版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法设计与分析2007.9第六章快速排序快速排序算法快速排序的随机化版本程序演示及说明算法性能分析(三种情况)问题:1、什么是分治法?2、什么是排序?3、用分治法解决排序问题的思想是什么?3.其解决排序问题的基本思路:使用分治法。基本步骤:a.分解:数组A[p..r]被划分为两个非空子数组A[p..q]和A[q+1..r],使得A[p..q]的每一个元素都小于等于A[q+1..r]的元素。b.解决:通过递归调用快速排序对子数组A[p..q]和A[q+1..r]进行排序。c.合并:快速排序无需合并操作。快速排序算法:QUICKSORT(A,p,r)1ifp<r2thenqPARTITION(A,p,r)3QUICKSORT(A,p,q)4QUICKSORT(A,q+1,r)算法描述二、快速排序的分解、解决过程1.分解:调用PARTITION对数组A[p..r]进行划分。
分解方法:在待排序的数组A[p..r]中选择一个元素作为分划元素,也称为主元(最简单的做法是选择数组的第一个元素为主元)。经过一趟划分操作将数组重新排列,将小于主元的元素放在原数组的底部区域,把大于主元的元素放在原数组的顶部区域。示意图:主元PARTITION75641233底部区域顶部区域73146235PARTITION实例:ijiijjijji(a)(b)(c)(d)(e)A[p..r]A[p..q]A[q+1..r]一次划分结束主元return7314623573146235751462337514623375641233PARTITION(A,p,r)1xA[p]2ip-13jr+14whileTRUE//三次循环就把前一个数组搞定了5dorepeatjj-16untilA[j]≤x//后面小于主元7repeatii+18untilA[i]≥x//前面的大于主元9ifi<j10thenexchangeA[i]A[j]11elsereturnj划分的正确性a.下标i和j不会指向数组A中区间[p..r]以外的元素。b.当PARTITION结束时,下标j不等于r。c.当PARTITION结束时,A[p..j]中的每个元素都小于等于A[j+1..r]中的每个元素。最佳情况划分:T(n)=2T(n/2)+(n)=(nlgn)常数比例划分:T(n)=T(an)+T((1-a)n)+(n)=(nlgn)平均情况划分:直觉:(nlgn)差的划分可以吸收到好的划分中。随机化版本的算法RANDOMIZED-PARTITION1iRANDOM(p,r)2exchangeA[p]A[i]3returnPARTITION(p,q,r)RANDOMIZED-QUICKSORT(A,p,r)1ifp<r2thenqRANDOMIZED-PARTITION(A,p,r)3RANDOMIZED-QUICKSORT(A,p,q)4RANDOMIZED-QUICKSORT(A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年居民住宅小区绿化工程合同
- 2024水泥购销合同样本
- 2024年工程承包:机电设备安装工程合同
- 2024年工程融资居间服务协议
- 2024年公寓室内装修改造合同
- 2024-2025学年高中英语单元素养评价一Unit1Festivalsaroundtheworld含解析新人教版必修3
- 2024高考历史一轮复习课时规范练26大萧条罗斯福新政及战后资本主义经济的调整含解析岳麓版
- 2024年型防火门销售代理合同
- 2024年土地使用权租赁合同标准样本
- 2024年农村民居翻新施工合同
- 高速公路综合监控太阳能供电系统技术方案设计
- 2024年秋新华师大版七年级上册数学 2.4.3去括号和添括号 教学课件
- 2023-2024学年广东省深圳市龙岗区沪教牛津版(深圳用)六年级上册期中英语试卷(无答案)
- 2024年初级银行从业资格《个人理财》考试试题
- 2024年统编版新教材语文小学一年级上册第五单元检测题及答案
- 2024年新苏教版六年级上册科学全册知识点(超全)
- 公司资金调拨及内部往来管理流程手册模板
- 尊干爱兵课件2017
- 流程图练习题(三种结构)
- 人教版地理七年级上册《第一节 大洲和大洋》说课稿2
- 中药代煎代配实施管理规范(征求意见稿)
评论
0/150
提交评论