高级数据结构.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

JYP*11while(1){ //输出归并段12if(rq!=rc){ //当前段结束13输出归并段结束标记;14if(rqrmax)break;//遇到虚拟记录,说明实际 //记录已输出完,跳出循环15elserc=rq;16}17WriteRecord(r[q]);LastKey=r[q].key;18//输入新记录19if(输入结束)rn[q]=rmax+1;//生成虚拟记录,以把实 //际记录“顶”出败者树20else{ReadRecord(r[q]);22 if(r[q].keyLastKey)rn[q]=rmax=rq+1;//新记录 //属于下一个归并段JYP*23 elsern[q]=rc; //新记录仍然属于当前归并段}25rq=rn[q];26//重新调整败者树27for(intt=(k+q)/2;t;t/=2) //t初始化为r[q]的父结点28if((rn[l[t]]rq)||(rn[l[t]]==rqr[l[t]].key r[q].key)){//t是胜者29inttemp=q;q=l[t];l[t]=temp;30rq=rn[q];31}32}//while循环结束33delete[]r;delete[]rn;delete[]l;34}JYP*例7.12设输入表为(99,48,19,65,3,74,33,17,21,20,98,53,22),k=4,则runs生成初始归并段的过程如后面所示:JYP*JYP*JYP*JYP*JYP*JYP*JYP*JYP*分析:当输入记录表已排好序,只生成一个归并段。平均而言,runs生成的归并段长度是传统方法的两倍。由于每输出一个记录,重新调整败者树的时间是O(logk),所以对于n个记录的输入表,生成所有归并段的时间是O(nlogk)。实验作业:P261—29JYP*7.9.4归并段的最佳归并和哈夫曼树由runs生成的归并段长短不一定相同。这时前面所述的完整扫描所有归并段的策略所导致的计算时间不是最少的。JYP*例如,假设有四个归并段,长度分别为3,4,8和21。可用下列两种方式给进行2-路归并:JYP*一个记录参与的归并次数由其所在的外部结点到根的距离确定。由于归并时间与参与的记录个数成线性关系,总的归并时间应等于所有归并段的长度与其相应的外部结点到根的距离的乘积之和。此和又称为加权外部路径长度。前面两棵树的加权外部路径长度分别是3?3+4?3+8?2+21?1=58 和3?2+4?2+8?2+21?2=72。JYP*如果采用具有最短加权外部路径长度的k叉归并树,则对n个长度为qi(1≤i≤n)的归并段进行k路归并的代价最小。这里仅考虑k=2的情况。最短加权外部路径长度二叉树的另一个应用是获得最佳信息编码。设需要建立信息M1,M2,…,Mn的一组最佳编码。每个编码为二进制位串。在接收端,通过解码树对编码进行解码。JYP*intq=list[first].link; //list[q]是按非递减次序的下一个 //记录,可能是虚拟记录if(first!=i){ //交换list[i]和list[first],并将list[i].link //设置为原list[i]的新位置ElementKeyTypet=list[i];list[i]=list[first];list[first]=t;list[i].link=first;}first=q;}}JYP*例7.9对(2

您可能关注的文档

文档评论(0)

177****4699 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档