- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
堆排序的时间复杂性为O(nlog2n)。 该算法的附加存储用来执行对象交换时所用的一个临时对象。因此,该算法的空间复杂性为O(1)。 堆排序是一个不稳定的排序方法。 * 归并排序merge sort I=(n, A[0…n-1]) I1=([n/2], A[0…[n/2]-1]) I2=(n-[n/2], A[[n/2]-1…n-1]) I=(n,A(1),…A(n)) MERGE ...... ...... ...... ...... ...... ...... * 归并函数MERGE的实现 B[0] B[1] ... B[p-1] C[0] C[1] … C[q-1] 已排序序列B 已排序序列C 数组A 比较大小 小值 B[0] 比较大小 小值 C[0] …… 剩余已排序元素 归并MERGE的实现思想 * 归并排序算法 算法 Mergesort(A[0...n-1]) //递归调用Mergesort来对数组A排序 //输入:可排序数组A[0..n-1] //输出:非降序列数组A[0..n-1] if (n1){ copy A[0.. [n/2]-1] to B[0..[n/2]-1] ; copy A[[n/2]..n-1] to C[0..[n/2]-1]; Mergesort(B[0..[n/2]-1]); Mergesort(C[0..[n/2]-1]); Merge(B,C,A); } 算法 Merge(B[0..p-1],C[0..q-1]),A[0..p+q-1]) //将两个有序数组合并成一个有序数组 //输入:两个有序数组B[0..p-1]和C[0..q-1] //输出:非降序列数组A-0..p+q-1] i?0; j?0; k?0; while (ip and jq do){ if (B[i] ≤ C[j]) { A[k]?B[i];i?i+1;} else{ A[k]?C[j];j?j+1;} k?k+1; } if (i=p) copy C[j..q-1] to A[k...p+q-1] else copy B[j..p-1] to A[k...p+q-1] * 算法分析 如果归并运算的时间与n成正比,则归并分类的计算时间可用递归关系式描述如下 算法 Mergesort(A[0...n-1]) if (n1){ copy A[0.. [n/2]-1] to B[0..[n/2]-1] ; copy A[[n/2]..n-1] to C[0..[n/2]-1]; Mergesort(B[0..[n/2]-1]); Mergesort(C[0..[n/2]-1]); Merge(B,C,A); } * 归并排序的计算时间 T(n)= 0 n=1 2T(n/2)+Tmerge(n) n1 当n=2k时,Tmerge(n)=n 可得: T(n)=2(2T(n/4)+n/2)+n =4T(n/4)+2n =4(2T(n/8)+n/4)+2n …… =2kT(1)+kn =kn 因为: n=2k , k=log2n 所以: T(n)= kn=nlog2n 如果2kn2k+1,有T(n)≤T(2k+1),有 T(n)=Θ (nlogn) Memory Time 冒泡 合并 * Example of merge sort Example of merge sort sorting a list of random numbers 小结 需要复习的知识点 排序的基本概念 排序的基本概念 关键码、初始关键码排列 关键码比较次数、数据移动次数 稳定性 附加存储 插入排序 用实例表明直接插入排序、 直接插入排序的算法 排序的性能分析 当待排序的关键码序列已经基本有序时,用直接插入排序最快 选择排序 用实例表明直接选择排序、堆排序的过程 直接选择排序和堆排序的算法 三种选择排序的性能分析 用直接选择排序在一个待排序区间中选出最小的数据时,与区间第一个数据对调,不是顺次后移。这导致方法不稳定。 在堆排序中将待排序的数据组织成完全二叉树的顺序存储。 交换排序 用实例表明起泡排序和快速排序的过程 起泡排序的算法 * * :8080/JudgeOnline/showproblem?problem_id=1127 * * * * * * 问题I=(n,A[0...n-1])表示有n个输入,分别在数组A中。 合并排序问题的划分后的最小子问题中只有一个元素,该问题不需要进行任何元素的
您可能关注的文档
最近下载
- 2022消防安全PPT课件.pptx
- 定语从句在作文中的应用+课件-2025届高三英语上学期一轮复习专项.pptx VIP
- 业务架构知识体系- BIZBOK Guide v11中文版.pdf
- 4700变速箱维护与保养.pdf VIP
- 坦桑尼亚绿岩带构造蚀变岩型金矿床找矿方法-物探与化探.PDF
- 项目成本管理工作总结.pptx
- 2025年中国XO白兰地酒行业市场深度分析及发展前景预测报告.docx
- 年产20万吨甲醇低压羰基化制醋酸工业毕业论文40论文41.doc VIP
- (人教A版)选择性必修一高二数学上册期中复习第一章 空间向量与立体几何 章节综合检测( 提高卷)(原卷版).docx VIP
- 低血糖急救与护理.pptx VIP
文档评论(0)