- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章主要内容 本章主要内容,本章详细介绍了排序的基本概念和常见的排序方法,包括常用的内部排序方法,外部排序方法等内容。通过本章的学习,应掌握如下内容: l???????? 插入排序 l??????? ? 交换排序 l??????? ? 选择排序 l??????? ? 归并排序 l??????? ? 基数排序 l????????? 外部排序 l 各种排序的比较 算法分析:时间复杂度:在n个记录的待排序列中,一次划分需要约n次关键码比较。若每次划分的前后两部分数据元素个数基本相等,则需要经过log2n次划分,所以算法时间复杂度为nlog2n,最坏情况下,时间复杂度为O(n2)。空间复杂度:快速排序是递归的,每层递归调用的指针和参数均要用栈来存放,递归调用次数与二叉树的深度一致。存储开销在理想情况下为O(log2n),即树的高度;在最坏情况下,二叉树是一个单支,这时算法的空间复杂度为为O(n)。 53 36 85 47 91 输出30,将91送入堆顶,调整恢复堆 53 47 85 91 36 输出24,将53送入堆顶,调整恢复堆 36 30 85 47 91 53 53 36 85 47 30 91 钥带猪纷甥感呈印暂锡焦肃倒屉倡戚欺鞭孙鹿乳骨签望痒伴器踢伤镶磁挠数据库——排序数据库——排序 85 91 输出53, 将91送入堆顶 91 85 53 47 85 91 输出36,将91送入堆顶,调整恢复堆 53 85 91 47 53 85 91 输出47,将91送入堆顶, 调整恢复堆 91 85 53 乐仗蓝姬废驹肮肠逆职酬齿悦案查抖汇阿痘刨腮铅漂赡句访晾鳞眉钮甫扒数据库——排序数据库——排序 归并的含义是将两个或两个以上的有序序列归并成一个新的有序表。归并排序可分为多路归并排序和两路归并排序。它既可以用于内部排序,也可以用于外部排序。 一趟两路归并算法的思想(以升序为例):先用两个指针分别指向两个序列的第一个数据元素,进行比较,取出较小者,然后将其所在序列的指针后移,重复以上过程,直到指针达到序列的末尾,这时将另一个序列的剩余元素依次顺序放到有序序列的后面即可。 10.5 归并排序 江痪酣远访飘发宠蛙永请轩号鸟拖吭詹躺涌导宣鼎谓镣鸽钾粪言嚼豺匹免数据库——排序数据库——排序 将两个有序序列L-data[t..m]和L-data[m+1..n]归并为有序序列L1-[t..n]的过程: ⑴ i=t;j=m;k=t; ⑵ 若im 或 jn,执行⑸; ⑶ 比较L-data[i]和L-data[j]关键字,将较小的存入L1中: 如果L-data[i].keyL-data[j].key; L1-data[k]=L-data[i];i++; k++;执行⑵; 否则,L1-data[k]=L-data[j];j++;k++;执行⑵; ⑷ 将尚未处理完的子表中元素存入L1; 如果i=m,将L-data[i…m]存入L1-data[k…n]; 如果j=n,将L-[j…n]存入L1-data[k…n]; ⑸ 合并结束。 住浮晦忧秘袍涉耳证竖冯靖颈吃汗丸绿宠成吩增匙洞载东匝坑某甥涩评捣数据库——排序数据库——排序 【算法9.7】 一趟两路归并排序 void Merge(SL *L,SL *L1,int t,int m,int n) { for(i=t,j=m,k=t;i=m j=n;k++) { if(L-data[i].keyL-data[j].key) { L1-data[k]=L-data[i];i++;} else {L1-data[k]=L-data[j];j++;} } /* for */ if(i=m) L1-data[k…n]=L1-data[i…m-1]; if(j=n) L1-data[k…n]=L1-data[j…n]; } /*Merge*/ 诣栋是矣耀惫屉钞貉刊敬盔蒸但夕子务膛茶澡鼓屎霉灭倚谣筑愚慷戈荤坞数据库——排序数据库——排序 【例10-7】有一个序列12,9,44,10,99,61,65,43,76,其两路归并算法的过程: 初始关键字 [12] [9] [44] [10] [99] [61] [65] [43] [76] 一趟归并后 [9 12] [10 44] [61 99] [43 65] [76] 二趟归并后 [9 10 12 44] [43 61 65 99] [76] 三趟归并后 [9 10 12 43
您可能关注的文档
最近下载
- 广东省东莞市东华高级中学、东华松山湖高级中学2024-2025学年高一(上)月考数学试卷(含答案).pdf VIP
- 第一二单元月考试卷(试题)人教版五年级上册数学+.1.docx VIP
- 矩阵论试卷.doc VIP
- 瓦控(VACON)伟肯CX,CXL,CXS变频器用户手册.pdf
- 企业培训师二级课件.pptx VIP
- 学堂在线 如何写好科研论文 期末考试答案.docx VIP
- 货币金融学(第十二版)PPT课件(全).pptx
- CPA考试《财管》历年真题汇编(含答案).pdf VIP
- 《6-8岁创意画-美味的柿子》-美术课件.pptx VIP
- 牧场物语矿石镇的伙伴们——触发事件其它.docx VIP
文档评论(0)