归并排序 ppt课件.ppt
《归并排序 ppt课件.ppt》由会员分享,可在线阅读,更多相关《归并排序 ppt课件.ppt(36页珍藏版)》请在三一办公上搜索。
1、10.5 归并排序,基本思想将两个或两个以上的有序子序列“归并”为一个有序序列。在内部排序中,通常采用的是2-路归并排序。即:将两个位置相邻的有序子序列归并为一个有序序列。,ri rm rm+1 rn,有序,有序,有序,ri rn,10.5 归并排序,如何进行两路归并?将两个有序表的元素进行比较,小者复制到目标表中。,(5,24,35,74,222),(19,23,30),(),5,24,35,74,222,(,),19,23,30,(,),(,),5,19,23,24,30,35,74,222,两路归并动画演示,s,m,t,m+1,10.5 归并排序,void Merge(int r,int
2、 r1,int s,int m,int t)/*将有序列rs.m和rm+1.t两路归并为r1*/i=s;j=m+1;k=s;while(i=m/后一个子序列剩下的,10.5 归并排序,原理 假设初始序列含有n个记录,则可看成n个有序的子序列,每个子序列长度为1。然后两两归并,得到n/2个长度为2或1的有序子序列;再两两归并,如此重复,直至得到一个长度为n的有序序列为止。,初始时:49 38 65 97 76 13 27,void Msort(Elem SR,Elem TR1,int s,int t)/*将SRs.t进行归并排序为TR1s.t*/if(s=t)TR1s=SRs;else m=(s
3、+t)/2;/将SRs.t分割 Msort(SR,TR1,s,m);/递归地排序子序列SRs.m Msort(SR,TR2,m+1,t);/递归地排序子序列SRm+1.t Merge(TR2,TR1,s,m,t);/归并,10.5 归并排序,10.5 归并排序,性能分析 一趟归并操作是将r1rn中相邻的长度为h的有序序列进行两两归并,这需要O(n)时间。整个归并排序需要进行log2n趟,因此,总的时间代价是O(nlog2n)。,10.5 归并排序,性能分析 算法在执行时,需要占用与原始记录序列同样数量的存储空间,因此空间复杂度为O(n)。,10.5 归并排序,总结最好、最坏、平均时间复杂度均为
4、O(nlogn);空间复杂度高,为O(n);是高效算法中唯一“稳定”的排序方法;较少用于内部排序,多用于外部排序。,10.6 基数排序,基本思想,基数排序是采用“分配”与“收集”的办法,用对多关键码进行排序的思想实现对单关键码进行排序的方法。,10.6 基数排序,多关键码排序问题,以扑克牌排序为例。每张扑克牌有两个“关键码”:花色和面值。其有序关系为:花色:面值:2 3 4 5 6 7 8 9 10 J Q K A,10.6 基数排序,“花色”优先先分成4堆;然后,每堆再按“面值”排;最后,收成一堆。,扑克牌“排序”为例,10.6 基数排序,“面值”优先先分成13堆;每堆再按“花色”排;,扑克
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 归并排序 ppt课件 归并 排序 ppt 课件
链接地址:https://www.31ppt.com/p-2119003.html