- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§8 大型结构的排序 问题: 交换大型结构可能是非常昂贵的操作。 解决方法: 在数组中包含指向结构的指针,通过交换指针来排序 – 间接排序。 最后在必要时再实际地重新安排结构。 list key table [0] d 0 [1] b 1 [2] f 2 [3] c 3 [4] a 4 [5] e 5 table 4 1 3 0 5 2 排序列表是 list [ table[0] ], list [ table[1] ], ……, list [ table[n?1] ] Note: 每一个序列都由不相交的环构成。 list key table [0] d 4 [1] b 1 [2] f 3 [3] c 0 [4] a 5 [5] e 2 temp = d current = 0 next = 4 a 0 4 5 e 4 5 2 f 5 2 3 c 2 3 d 3 最坏情形下有 ? 个环,需要 ? 次记录的移动。 ? N / 2? ? 3N / 2? T = O( m N ) , m 是每个结构的大小。 〖例〗Table Sort §9 排序的一般下界 【定理】只使用元素间比较的任何排序算法需要进行 ?( N log N )次比较。 证明: K0 ? K1 K1 ? K2 K0 ? K2 stop [0,1,2] stop [0,2,1] stop [2,0,1] T F T F K0 ? K2 K1 ? K2 stop [1,0,2] stop [1,2,0] stop [2,1,0] T F T F T F 三元素排序的决策树 当进行 N 个互异元素排序时,有 N! 种可能的结果。 因此任意决策树必定含有至少N! 片树叶。 如果树高为 k, 那么 N! ? 2k?1 (一棵完全二叉树中的叶子数量) ? k ? log(N!) + 1 由于 N! ? (N/2)N/2 及 log2 N! ? (N/2)log2(N/2) = ? ( N log2 N ) 因此 T(N) = k ? c ? N log2 N . 第7章 排序 ——很常见的一类问题(并不局限于排序本身) §1 预备知识 void X_Sort ( ElementType A[ ], int N ) /* N 是排序元素个数,是合法的整数*/ /* 为简单起见,假设数组只包含整数 */ /* ‘’ 和 ‘’ 运算符存在,而且是仅有的允许对输入数据进行的操作 */ 基于比较 的排序 /* 仅考虑内部排序 */ 整个排序工作能够在主存中完成 §2 插入排序 void InsertionSort ( ElementType A[ ], int N ) { int j, P; ElementType Tmp; for ( P = 1; P N; P++ ) { Tmp = A[ P ]; /* the next coming card */ for ( j = P; j 0 A[ j - 1 ] Tmp; j-- ) A[ j ] = A[ j - 1 ]; /* shift sorted cards to provide a position for the new coming card */ A[ j ] = Tmp; /* place the new card at the proper position */ } /* end for-P-loop */ } 最坏情形: 输入的 A[ ] 是反序的。 T( N ) = O( N2 ) 最好情形: 输入的 A[ ] 是已预先排序的。 T( N ) = O( N ) §3 一些简单排序算法的下界 【定义】成员存数的数组的一个逆序是指数组中具有性质 i j 但 A[i] A[j] 的序偶( A[i], A[j])。 〖例1〗 输入数据 34, 8, 64, 51, 32, 21 有 个逆序。 9 (34, 8) (34, 32) (34, 21) (64, 51) (64, 32) (64, 21) (51, 32) (51, 21) (32, 21) 在插入排序中恰好需要执行 次交换。 9 交换两个不按原序排列的相邻元素 恰好消除一个逆序。 T ( N, I ) = O( ) , I 是初始数组中的逆序数。 I + N 如果数组几乎有序, 这个时间是很快的。 这就是全部结论? 那么怎么加速排序? 嘿!
您可能关注的文档
- 温泉项目装配式施工工艺介绍(考察).ppt
- 湖南省长沙市2017届高三12月联考数学(文)试题及答案.doc
- 湖南科技大学2015年计算机组成原理复习题.doc
- 湖心亭看雪复习.ppt
- 湖南省长沙望城一中2014-2015学年高二下学期期中考试地理1.doc
- 湘教地理必修3 第二章第四节 区域农业的可持续发展 精品课件(31张ppt)(黑龙江孙吴一中教学课件).ppt
- 湘师大版《道德与法治》七年级上册-5.2 学会自立 课件(共21张ppt).ppt
- 湖心亭看雪精品课件ppt.ppt
- 湘教版七年级上册道德与法律第二单元享受学习第三节学快乐学习第二课时正确面对学习压力(课件).ppt
- 温州职业技术学院--电气自动化技术专业.ppt
最近下载
- 第二版--医学伦理学经典案例分析100.pdf VIP
- fanuc发那科机器人编程手册.pptx VIP
- 2025年华医网继续教育“痔”的精准微创治疗技术题库及答案.docx VIP
- 大疆无人机御3航拍摄影与后期从入门到精通第9章 焦点跟随:无人机自动跟随拍大片.pptx VIP
- 计算机应用基础教程(Windows10+Office2016)PPT全套完整教学课件.pptx VIP
- 2025年交管学法减分考试题库以及答案(160题完整版) .pdf VIP
- 施工人员入场安全教育手册(一人一档).doc VIP
- 美的热水器F80- A20GA2(H)专项试验报告.pdf VIP
- 大学生创业生涯规划书.pdf VIP
- 人教版(2025)八年级上册14.2三角形全等的判定(课时1)(教学课件)(32张PPT)(含音频+视频).pptx VIP
原创力文档


文档评论(0)