- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
void Merge(RecType R[],int low,int mid,int high) { RecType *R1; int i=low,j=mid+1,k=0; //k是R1的下标,i、j分别为第1、2段的下标 R1=(RecType *)malloc((high-low+1)*sizeof(RecType)); while (i=mid j=high) if (R[i].key=R[j].key) //将第1段中的记录放入R1中 { R1[k]=R[i]; i++;k++; } else //将第2段中的记录放入R1中 { R1[k]=R[j]; j++;k++; } Merge()实现了一次归并 : 空间复杂度为O(high-low+1) while (i=mid) //将第1段余下部分复制到R1 { R1[k]=R[i]; i++;k++; } while (j=high) //将第2段余下部分复制到R1 { R1[k]=R[j]; j++;k++; } for (k=0,i=low;i=high;k++,i++) //将R1复制回R中 R[i]=R1[k]; free(R1); } void MergePass(RecType R[],int length,int n) { int i; for (i=0;i+2*length-1n;i=i+2*length) //归并length长的两相邻子表 Merge(R,i,i+length-1,i+2*length-1); if (i+length-1n) //余下两个子表,后者长度小于length Merge(R,i,i+length-1,n-1); //归并这两个子表 } MergePass()实现了一趟归并 二路归并排序算法如下: void MergeSort(RecType R[],int n) { int length; for (length=1;lengthn;length=2*length) MergePass(R,length,n); } 例10.7 设待排序的表有8个记录,其关键字分别为{18,2,20,34,12,32,6,16,1,5}。说明采用归并排序方法进行排序的过程。 18 2 20 34 12 32 6 16 1 5 初始: 2 18 20 34 12 32 6 16 1 5 2 18 20 34 6 12 16 32 1 5 2 6 12 16 18 20 32 34 1 5 1 2 5 6 12 16 18 20 32 34 log210取上界为4 第1趟 第2趟 第3趟 第4趟 容易看出,对 n 个记录进行归并排序的时间复杂度为Ο(nlogn)。即: 每一趟归并的时间复杂度为 O(n), 总共需进行 ?log2n? 趟。 二路归并 多路归并 例如,对任意的7个关键字进行基于比较的排序,至少要进行 次关键字之间的两两比较。 A.13 B.14 C.15 D.16 解:基于“比较”进行排序的算法在最坏情况下所需进行的比较次数至少为?log2(n!)?。?log2(7!)?=13。本题答案为A。 例如,若数据元素序列{11,12,13,7,8,9,23,4,5}是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是 。 A. 起泡排序 B. 插入排序 C. 选择排序 D. 二路归并排序 本题为2009年全国考研题 例如,数据序列{8,9,10,4,5,6,20,1,2}只能是 的两趟排序后的结果。 A. 简单选择排序 B.
您可能关注的文档
- 第10章国民经济附属核算案例.ppt
- 第10章行政单位资产的核算案例.ppt
- 第10章货币市场案例.ppt
- 第7章浇注系统与排气系统设计案例.ppt
- 第三方物流管理_09第三方物流的增值服务管理案例.ppt
- 第10章计算机绘图案例.ppt
- 第三方支付系统案例.ppt
- 第10章计算机网络及Internet案例.ppt
- 第三个小板凳案例.ppt
- 第7章角度调制与解调案例.ppt
- 高中美术课标解读 .pdf
- 高中同步新教材必修第二册第六章平面向量及其应用第1课时 余弦定理.pdf
- 高中数学必修第一册人教版A版(2019) 知识点汇总 .pdf
- 高一数学《单调性与最大(小)值》教案 .pdf
- 山东省莱芜市高职单招2022-2023学年综合素质自考模拟考试(含答案).pdf
- 黑龙江省哈尔滨市珠河中学高二政治摸底试卷含解析 .pdf
- 高中信息技术《网络技术应用》 第二课 因特网信息交流与网络安全高中....pdf
- 高一新生军训心得体会800字范文5篇 .pdf
- 黑龙江省哈尔滨市第二中学2019年高三政治联考试卷含解析 .pdf
- 高考数学压轴专题最新备战高考《不等式》难题汇编及解析 .pdf
文档评论(0)