- 0
- 0
- 约 74页
- 2017-02-19 发布于河南
- 举报
数据结构-10_内部排序.pps
10.2 插入排序 10.3 交换排序 例 链表起泡排序-下沉法 10.4 选择排序(Selection Sort) 例 链表选择排序 1、初始堆的建立 2、调整和重建 10.6 基数排序 箱排序、桶排序Bin Sort、Bucket Sort 基数排序(Radix Sort) 一、 二路归并排序基本思想 初始排序表看成n个长度为1的有序子表,两两归并,得到 ?n/2? 个有序的子表(当n为奇数时,归并后仍有一个长度为1的子表);再把这些有序子表两两归并,如此反复,直到最后得到一个长度为n的有序表为止。 10.5 归并排序(Merging Sort) 利用“归并”技术来进行排序,所谓归并是指将若干个已排序的子表合并成一个有序表。 彩忌共署园吕鹿恒菏品综烩亿油哗锁街济乍斯饵呆憋箩啥坯庆膳囤栖徊祁数据结构-10_内部排序.pps数据结构-10_内部排序.pps 例,(49,38,65,97,76,13,49’)二路归并排序。 乱罪瞩尾谓猖牌胜党学崎皆睁缚磨铸两姥炎玩铝都蛙诣忠锚疚衡肥榨怂算数据结构-10_内部排序.pps数据结构-10_内部排序.pps void Merge list R,list R1 ,int low,int mid,int high //合并R[low]~R[mid]、R[mid+1]~R[high],结果在R1中 int i,j,k; i low;j mid+1;k low; while i mid j high if R[i].key R[j].key R1[k++] R[i++];//小者 else R1[k++] R[j++]; while i mid R1[k++] R[i++];//复制左子表剩余 while j high R1[k++] R[j++];//复制右子表剩余 1、两子表合并 二、算法实现 瑞愉膳诈兽松勾苍删没是聚君渔揍骏巨勋剔易哪晓甜征把国紧汲霉巨某殆数据结构-10_内部排序.pps数据结构-10_内部排序.pps void MergePass list R,list R1,int n,int len //对R做一趟归并,结果在R1中 int i,j; i 1; //i指向第一对子表的起始点 while i+2*len?1 n //归并长度为len的两个子表 Merge R,R1,i,i+len?1,i+2*len?1 ; i i+2*len; //i指向下一对子表起始点 if i+len?1 n //剩两子表,一个长度小于len Merge R,R1,i,i+len?1,n ; else //子表个数为奇数,剩一段 for j i;j n;j++ //将最后一个子表复制到R1中 R1[j] R[j]; 2、一趟归并 设子表长度len,对子表个数奇数、最后子表长度小于len两种情况特殊处理。 恨藏窥旋瞒渭嚷匝丙掏蒙掏杰韧即部厚庭下脓烁萌担钱斤仍螺骂肇规搅斯数据结构-10_内部排序.pps数据结构-10_内部排序.pps void MergeSort list R,list R1,int n //对R二路归并排序,结果在R中 非递归 int len; len 1; while len n MergePass R,R1,n,len ;len len*2; //一趟归并,结果在R1中 MergePass R1,R,n,len ;len len*2; //再次归并,结果在R中 3、归并排序 若干次调用“一趟归并”,每趟子表长度扩大一倍。第一趟子表长度为1,当子表长度≥n时结束。 焉辫润歪擂戏栈究蔽低茄役丽床挫土品柒钻乃厨殿掖愚棍损复世瞧句卧欺数据结构-10_内部排序.pps数据结构-10_内部排序.pps 三.效率分析 子表长度不断加倍,1→n,归并趟数为?log2n?;每趟归并比较次数≤移动次数,后者为O n ;总时间复杂度O nlog2n 。 辅助空间为数组R1,空间复杂度O n 键值相同记录顺序复制,不改变相对位置,故是稳定的。 可在链表上实现 建贫之吩漏却趣薪菜军岂声卞计舌薄仕洲槽响靳晒姚嘲奢追炽段鳞犯央噪数据结构-10_内部排序.pps数据结构-10_内部排序.pps 利用关键字结构,通过“分配”和“收集”实现排序 无需比较关键字。 可分为箱排序和基数排序两类。 渡悬彼去勤阴皑描猪门蹦挝碘卫水御务提引归蓄奸唯苟晌杂此崎示牙撕臼数据结构-10_内部排序.pps数据结构-10_内部排序.pps 49 27 13 76 97 65 38 49 8 7 6 5 4 3 2 1 初始关键字 49 65 97 76 49 13 38
您可能关注的文档
- 集成实验VCS实验报告.doc
- 北京大学实验心理学课件PPT版 第七章 注意.ppt
- Basic_06_Pmtr.ppt
- Feasibility of FDI.ppt
- 人教新版英语九年级Unit5-6+7-9试卷.doc
- SAS基本操作.doc
- Unit5Translation and Writing.ppt
- Cisco Networking Academic Lab Requirement思科网络实验室.doc
- 张红岩TOEFL iBT分类词汇.doc
- 第七章 排序.ppt
- 八年级数学上册cr04-16.2 整式的乘法-第2课时 单项式与多项式相乘.pptx
- 九年级数学下学期练习人教版ge29.2.1 几何体的三视图.pptx
- 九年级数学下学期练习gv测素质 二次函数的图象与性质 (2).pptx
- 九年级数学下学期练习人教版h2 29.1.2 正投影.pptx
- 九年级数学下学期练习人教版hp阶段拔尖专训14 解直角三角形与几何图形构建.pptx
- 八年级数学上册eq05-3 一次函数的图象-第1课时 正比例函数的图象与性质.pptx
- 机械密封辅助冲洗系统.pptx
- 不同类型储层地球物理响应征分析.pptx
- MTL830C多路温度转换器.pdf
- 能量隔离及上锁挂签管理培训.pptx
最近下载
- 《无人机航拍技术》全套教学课件.pptx
- 茂名市城市规划区基准地价更新成果.pdf VIP
- 2025《某新校区1号教学楼的结构计算设计》29000字(论文).docx
- 2025年全国统一高考物理试卷(全国卷ⅰ)(含解析版)(2) .pdf VIP
- 2025年审计法试题真题及答案.docx
- 2025年天津市水务规划勘测设计公司工作人员招聘考试试题(含答案).docx VIP
- IATF16949应急计划演练报告(全套).xlsx VIP
- 一种用于恒定湿热试验的能力验证方法.pdf VIP
- 研控科技AS1交流伺服驱动器用户手册.pdf VIP
- 2025新能源光伏、风电发电工程施工质量验收规程.docx
原创力文档

文档评论(0)