算法设计与分析快速排序精.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《算法设计与分析快速排序精.ppt》由会员分享,可在线阅读,更多相关《算法设计与分析快速排序精.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、算法设计与分析快速排序算法设计与分析快速排序第1页,本讲稿共28页第六章第六章 快速排序快速排序n快速排序算法快速排序算法n快速排序的随机化版本快速排序的随机化版本n程序演示及说明程序演示及说明n算法性能分析(三种情况)算法性能分析(三种情况)第2页,本讲稿共28页问题:问题:n1 1、什么是分治法?、什么是分治法?n2 2、什么是排序?、什么是排序?n3 3、用分治法解决排序问题的思想是什么、用分治法解决排序问题的思想是什么?第3页,本讲稿共28页n1.1.算法的提出:由算法的提出:由C.A.R.HoareC.A.R.Hoare提出。提出。n2.2.定义:快速排序定义:快速排序(quick
2、sort)(quick sort)又称分划交又称分划交换排序。换排序。一、快速排序算法的基本概念一、快速排序算法的基本概念第4页,本讲稿共28页n3.3.其解决排序问题的基本思路:使用分治其解决排序问题的基本思路:使用分治法。法。基本步骤:基本步骤:na.a.分解:数组分解:数组Ap.rAp.r被划分为两个非空子数被划分为两个非空子数组组Ap.qAp.q和和Aq+1.r,Aq+1.r,使得使得Ap.qAp.q的每一个的每一个元素都小于等于元素都小于等于Aq+1.rAq+1.r的元素。的元素。nb.b.解决:通过递归调用快速排序对子数组解决:通过递归调用快速排序对子数组Ap.qAp.q和和Aq+
3、1.rAq+1.r进行排序。进行排序。nc.c.合并:快速排序无需合并操作。合并:快速排序无需合并操作。第5页,本讲稿共28页n快速排序算法快速排序算法:n QUICKSORT(A,p,r)QUICKSORT(A,p,r)n 1 if pr 1 if pr n 2 then q PARTITION(A,p,r)2 then q PARTITION(A,p,r)n 3 QUICKSORT(A,p,q)3 QUICKSORT(A,p,q)n 4 QUICKSORT(A,q+1,r)4 QUICKSORT(A,q+1,r)算法描述算法描述第6页,本讲稿共28页二、快速排序的分解、解决过程二、快速排序
4、的分解、解决过程n1.1.分解:调用分解:调用PARTITIONPARTITION对数组对数组Ap.rAp.r进行划分。进行划分。分解方法:在待排序的数组分解方法:在待排序的数组Ap.rAp.r中选择一个元素作为中选择一个元素作为分划元素分划元素,也称为也称为主元主元(最简单的做法是选择数组的第一个元素为主元最简单的做法是选择数组的第一个元素为主元)。经过一经过一趟划分操作将数组重新排列,将小于主元的元素放在原数组的底部区域,趟划分操作将数组重新排列,将小于主元的元素放在原数组的底部区域,把大于主元的元素放在原数组的顶部区域。把大于主元的元素放在原数组的顶部区域。示意图:示意图:主元主元 PA
5、RTITIONPARTITION75641233底部区域底部区域顶顶部区域部区域73146235第7页,本讲稿共28页n2.2.解决:通过递归调用快速排序对子数组解决:通过递归调用快速排序对子数组Ap.qAp.q和和Aq+1.rAq+1.r排序,直到划分得到的子数组中只有排序,直到划分得到的子数组中只有一个元素时,递归调用结束。一个元素时,递归调用结束。n3.3.合并:快速排序经过一趟划分操作将数组分解成合并:快速排序经过一趟划分操作将数组分解成两个子数组,且位于底部区域的元素均不大于主元,两个子数组,且位于底部区域的元素均不大于主元,位于顶部区域的元素均不小于主元,所以,一旦两位于顶部区域的
6、元素均不小于主元,所以,一旦两个子数组已经完成分别排序,整个数组自然成为有个子数组已经完成分别排序,整个数组自然成为有序序列。序序列。第8页,本讲稿共28页PARTITIONPARTITION实例:实例:i ij ji ii ij jj ji ij jj ji i(a)(a)(b)(b)(c)(c)(d)(d)(e)(e)Ap.rAp.rAp.qAp.qAq+1.rAq+1.r一次划分一次划分结结束束主元主元returnreturn7314623573146235751462337514623375641233第9页,本讲稿共28页nPARTITION(A,p,r)PARTITION(A,p,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 设计 分析 快速 排序
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内