




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Quicksort(快速排序)
(一种算法设计技术)主要内容
Quick
sort快速排序Randomizedquicksortalgorithm随机版本快速排序算法Quicksort快速排序
Efficientsortingalgorithm--ProposedbyC.A.R.Hoarein1962--Divide-and-Conqueralgorithm--Sorts“inplace”(likeinsertionsort,butnotlikemergesort)--Verypractical(withtuning)--CanbeviewedasarandomizedLasVegasalgorithm--Worst-caserunningtime:Θ(n2)--Expectedrunningtime:Θ(nlogn)--ConstanthiddeninΘ(nlogn)aresmall.Quicksort’sidea--DivideandConquer
Quicksortann-elementarray:--Divide:Partitionthearrayintotwosubarraysaroundapivotxsuchthatelementsinlowersubarray≤x≤elementsinuppersubarray
--Conquer:Recursivelysortthesubarrays.--Combine:Trivial.
Keypoint:Linear-timepartitioningsubroutine.Quicksort’sidea--DivideandConquerInitialcallQuicksort(A,1,n)Partitioningsubroutine划分子程序A[p,…,i]:knowntobe≤pivotA[i+1,…,j-1]:knowntobe>pivotA[j…r-1]:notyetexaminedA[r]:pivotExampleofPartitioningTheoperationofPartitiononasamplearray.Lightlyshadedarrayelementsareallwithvaluesnogreaterthanx(thepivot).Heavilyshadedarrayelementsareallwithvaluesgreaterthanx.Analysisofquicksort
AssumeallinputelementsaredistinctInpractice,therearebetterpartitioningalgorithmsforwhenduplicateinputelementsmayexistLetT(n)=worst-caserunningtimeonanarrayofnelementsWorst-caseofquicksort
Inputsortedorreversesorted已有序PartitionaroundminormaxelementOnesideofpartitionalwayshasnoelements
T(n)=T(n-1)+T(0)+Θ(n)=T(n-1)+Θ(1)+Θ(n)=T(n-1)+Θ(n)=Θ(n2)(算法级数)Worst-caserecursivetree
T(n)=T(n-1)+T(0)+Θ(n)
ArecursiontreeforQUICKSORTinwhichthePartitionprocedurealwaysputsonlyasingleelementononesideofthepartition(theworstcase).Theresultingrunningtimeis
Θ(n2)BestCasePartitioning对等划分
ArecursiontreeforQUICKSORTinwhichthePartitionalwaysbalancesthetwosidesofthepartitionequally(thebestcase).Theresultingrunningtimeis
Θ(nlgn)Θ(nlgn)Best-caseanalysis
Ifwe’relucky,PARTITIONsplitsthearrayevenly:--T(n)=2T(n/2)+Θ(n)=Θ(nlogn).Whatifthesplitisalways1/10:9/10?平衡划分
--T(n)
≤T(9n/10)+T(n/10)+Θ(n)--Whatisthesolutiontothisrecurrence?ARecursiontree
ArecursiontreeforQUICKSORTinwhichPARTITIONalwaysproducesa9-to-1split,yieldingarunningtimeofO(n
lgn)Worstcase
Θ(n2),whywepreferQuicksorttoMergesortQuicksortVS.MergesortWhichisbetter?Testenvironment:IBM370/158ProgramminginPL/1Inputconsistsofrandomintegersrangein(0,10000)n10001500200025003000350040004500MERGESORT500750105014001650200022502650QUICKSORT40060085010501300155018002050n50005500600065007000750080008500MERGESORT29003450350038504250455049505200QUICKSORT23002650280030003350370039004100Quicksort平均时间分析Quicksort平均时间分析Quicksort平均时间分析Randomize-PartitioningRandomizedquicks
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位正规化管理课件下载
- 健康营养小专家课件下载
- 海南省06中考数学试卷
- 邯郸小学高年级数学试卷
- 《建筑工程施工组织设计》课程标准编制调研报告
- 2025年中国联苯双脂片行业市场发展前景及发展趋势与投资战略研究报告
- 2025年中国隔音耳罩市场运行态势及行业发展前景预测报告
- 2025年中国泵壳铸件行业市场发展前景及发展趋势与投资战略研究报告
- 2025年黑龙江省齐齐哈尔市、黑河、大兴安岭三地联考初中学业水平考试中考物理真题试卷(中考真题+答案)
- 2024年二元醇项目项目投资申请报告代可行性研究报告
- 2024中储粮集团财务限公司人员招聘公开招聘历年考点共500题附带答案
- 村务监督主任培训会-深化整治群众身边不正之风 筑牢基层监督防线
- 药品追溯管理制度培训
- 2025年广东省中考英语试卷真题及答案详解(精校打印版)
- 2024年安徽省合肥市北城片区七年级数学第一学期期末学业水平测试试题含解析
- 2025至2030中国铜冶炼行业发展现状及应用需求现状分析报告
- 农业保险培训课件
- 茶园租赁合同(含茶叶加工销售)
- 2025至2030全球及中国浮式液化天然气行业产业运行态势及投资规划深度研究报告
- 药品连锁总部管理制度
- 2025至2030中国家用清洁工具行业发展趋势分析与未来投资战略咨询研究报告
评论
0/150
提交评论