基于完全k叉树的适应性堆排序算法.pdfVIP

基于完全k叉树的适应性堆排序算法.pdf

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

山西大学学报(自然科学版)31(2):167~172,2008 JournalofShanxi University(Nat.Sci.Ed.) 文章编号:0253—2395(2008)02—0167—06 基于完全k叉树的适应性堆排序算法 蒲保兴1’3,陶世群2 (1.邵阳学院信息与电气工程系,湖南邵阳422001;2.山西大学计算机与信息技术学院,山西太原030006; 3.中南大学信息科学与工程学院,湖南长沙410083) 摘要:考虑了单次移动时间与单次比较时间的比值对堆排序时间开销的影响,对标准的堆排序算法进行了改进, 提出了一个基于完全五叉树的适应性堆排序算法;参数量可以被调整以适应具体的排序对象,使算法的时间开销 达到最小;分析了算法最坏时间复杂度并给出确定最优参数值的方法;分析和仿真计算结果表明,给出的算法优于 标准的堆排序算法. 关键词:完全矗又树;堆排序;最优参数值 中图分类号:TP301.6 文献标识码:A 0引言 排序是计算机科学的一个基础问题,在理论和应用上均有一定意义.许多学者对设计和改进排序算法做 排序算法应用的频繁性和广泛性,尽管不能降低其时间复杂度,若能合理地改进,使算法的运行时间有一定 的减少,同样具有重要的意义.标准的堆排序[2]属于这类排序算法,它采用完全二叉树的堆进行操作,其时间 复杂度已达到下界.许多学者对堆排序的改进作了大量的工作ET-a],但都致力于减少算法的比较次数或移动 次数,而忽略了单次移动时间与单次比较时间的比值对排序时间开销的影响.为了提高算法的效率,更应该 综合考虑比较时间和移动时间,而不单单只考虑其次数.NFL定理Do]揭示了这样一个事实:由问题决定算 法,让算法去适应问题.受它的启发,论文对标准的堆排序算法进行了改进,提出了一个基于完全k叉树的堆 排序算法,其设计思想是:让愚作为适应问题的参数,该参数可以针对单次比较时间与单次移动时间的比值 的不同而被调整,使算法的时间开销达到最小. 文献1-9-]提出了k叉树堆的思想,并把它用于优先队列的算法中,但仅考虑了比较时间而忽略了移动时 间,而且没有给出确定最优五值具体方法.本文对此进行了补充和完善.论文是这样组织的,首先叙述了一些 相关知识,然后给出改进的堆排序算法,通过分析和推导,得出了算法的最坏时间复杂度,它是关于问题规 模、单次移动时间与单次比较时间的比值、参数志的一个近似解析式.在此基础上,证明了新算法的时间开销 比标准的堆排序要少,并给出了确定最优参数值的方法.最后给出了一个仿真实例说明了算法的有效性. 1 相关知识 在算法设计和算法分析中要用到以下定义和性质,这些性质容易证明,故在此省略. 定义1:一棵度为是的树,只有最下面两层的结点的度数可以小于k,并且最下一层的结点都集中在该层 最左边的若干位置上,则称为完全k叉树. 收稿日期:2008—03—10 基金项目:湖南省教育厅自然科学研究(05C671) 作者简介:蒲保兴(1965一),男,副教授,博士生,研究方向:进化计算应用} 陶世群(1946一),教授,博士生导师,研究方向:数据库理论与技术,进化计算等. 万方数据 168 山西大学学报(自然科学版) 性质1:一棵完全k叉树,按层次遍历的顺序分别对各结点进行编号,则对于任一编号为i的非叶结点, 其第一个孩子的编号为k(i一1)+2. 二Ⅳ一I一1 层的结点数为竹一鼍音. K 上 —. n 性质3:n个结点的完全k叉树,最后一个非叶结点的编号为L 7下t--laJ+1. K 性质4:一棵具有竹个结点的完全k叉树,其树的高度为LlogT,u叫’J+1. 定义2:n个结点序列{R,,R。,..·,R。),按层次遍历顺序构成一棵完全k叉树,若任一非叶结点的关键字 值均小于其孩子结点的关键字值,则称为完全k叉树小根堆;若任一非叶结点的关键字值均大于其孩子结点

文档评论(0)

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

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

1亿VIP精品文档

相关文档