一种改进的堆排序并行算法的实现.pdfVIP

  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文档。上传文档
查看更多
一种改进的堆排序并行算法的实现,堆排序算法实现,堆排序原理及算法实现,堆排序算法,java堆排序算法,算法导论堆排序,堆排序啊哈算法,堆排序算法c语言,堆排序算法c,堆排序分治算法

E-maih lSSN1009-3044 ComputerKnowledgeand怡曲r10fb缈电脑知识与技术 Tel:+86—55l一569()9635690964 V01.6,No.25,September2010,PP.7025-7028 一种改进的堆排序并行算法的实现 曹记东 (陕西理下学院计算机科学与技术系,陕西汉中723000) 摘要:提出了双堆排序算法的一般概括.对于典型案例的比较和移动操作的代价大约是堆排序算法的50%,通过改进的双堆排序算 法实现了堆排序并行算法。相对于堆排序算法,双堆排序算法有更多优点:改进了缓存性能;对于输入有序的数据表现更好的性能; 更加简单的并行处理能力。 关键词:堆排序;并行;算法;比较;移动 中图分类号:TP312文献标识码:A 文章编号:1009—3044(2010)25-7025埘 An ParallelGeneralizationof Inherently Heapsort CAO ji——dong ScienceandTechnical of University (Computer Dept,Shaanxi Technology,Hanzhong723000,China) Abstract:A ofthe is the ofabout50%more andmove for’ generalizationheapsortalgorithmproposed.Atexpense comparison operations in- cases,the sort offersseveral over cache ifthe typical dualheapalgorithm advantagesheapsort:improvedperformance,betterperformance tObe easier sorted,and puthappensalready parallelimplementations. Keywords:Heapsort;parallel;algorithm;comparison;iilove 1算法概述 堆是一个其值可以看作一棵完全二叉树结点的数组,如果结点j是结点2j和结点2j+l的双亲结点,那么其值应大于等于其孩 子结点,或者小于等丁其孩子结点。所有双亲结点满足该条件就称其为堆。 堆排序算法是由1991年计算机先驱奖获得者、斯坦福大学计算机科学系教授罗伯特?弗洛伊德(RobertW.Floyd)和威廉姆斯(J. 排序的。该算法的平均时间复杂度是Nlog(N)。 堆排序对于一些比较次数和移动次数较小的记录来说,是一种最有效的排序方法。堆排序不适宜于记录较少的文件,并在以下 方面的操作效率不高: 1)堆排序不能够利用已经有序的输入。无论记录的输入是否有序,堆排序都不能以相同的比较次数和移动次数来完成排序操 作。 2)堆排序比起其他排序算法来说,会引起更多的缓存失误问题。因为每个分堆的操作通常会产生从堆顶根结点到堆底结点的 路径上的所有的结点值,对这些值的访问就必须通过一个宽内存地址。 桐●■■ l■叠暇 毒●骨臣 0■村暇 3)除了初始堆的创建外,堆排序不是一个特别适合并行处理的算法。 拟采用的双堆排序算法使用了分堆选择算法,来解决在一半处的子堆 递归分离问题。如图1所示。 TVX受萋 当子堆成为无法再分离的极小堆后。数组已经有序。在图中,向下的三 角形代表较大值的分区,向卜的三角形代

文档评论(0)

tianma2015 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档