用熵减小法研究比较排序的下界算法孥J芋l冒泡排序歇尔排序快速.pdf

用熵减小法研究比较排序的下界算法孥J芋l冒泡排序歇尔排序快速.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
\一11 、 h ≮ 耄 维普资讯 、 I t 用熵减小法研究比较排序的下界 王 予 彤 Tf’州 ,: (南开大学机器智能研究所 ) 摘要 本文采用蔺减小判定树法研究比较排序 问题 。在螭述 7比较排序 问 题 与熵减小 问题 的等价性之 后 ,证 明 了比较排序 问题平 均时阃代价 的下界不小 于问题本身的炳 。 一 、 引 言 选择排序 ,插人排序,冒泡排序、歇尔排序 快速排序和堆排序是 目前常用的一些 比较排序算法。人们研究各种排序算法的一个主要 目的,是为了减小排序问题的平均时 问代价。表 1给出了上述排序算法的平均时闽代价。 虽然快速排序、堆排序比其它排序算法花 费更少的平均时间代价,然而平均时间代 表 1 一些常用比较骜序算法 的平均时间代价 算法 孥J芋l 冒泡排序 歇尔排序 快速排序 堆‘排序 平均时间 不甚明了,有两 代价 0 ) l 0( ) 0( ) 个猜测 。 0(nb昏2)0(Rbg2 O(nlogi%) A() I 和 2‘‘ 注;表中 ()的计算是在假设输入序列的任意排列等可能。以比较次数做为代价量度得出的。 价的减少不是无限制的。存在一个平均时间代价的下界 ,它不依赖于算法 ,而仅取决于 比较排序问题本身,是对比较排序问题本身复杂性的量度。参考文献 【l】定理2.4指出。 基于 比较排序的任~算法 .对 ≈个元素排 序所 敛 的 比较 次 数 ,在平均情况下至少是 【log2lJ。 本文从熵喊小出发研究比较排序问题,将上述定理推广至输入序列的最终排序非等 概率的一般情况,证明 了比较排序问题的平均时间代价不少于 问题的熵 。 在证明过程 中,移用并扩充了参考文献 [1]中的判定埘概念 。为清 楚起见,假定输 人序列元素互不相等 ,并借用类PASCAL语言描述 问题 。 奉文收葛 日期 1992年8月21日 }乍qt鼍讯地址 ·300072采牵市 津大学四季村a8—5—503 维普资讯 二,熵减小判定树的结构 给定输入序列元集素台为 ∑=f ,…, ). ∑ 中元素 的所有排列组成集台 8:{ 1= l2… … 即 是 , -., 的一个排列)。用 ()表示 8中某一排列 , 是输入序列的正确排序的概率。显然, 1sI=hi ‘ ∑ s()=1 e 熵减小判定树是一棵二叉树,其树节点结构定义如下, TYPE point ?triode; triode= REC0RD 8,集合;{到该节点为止不能排除的s中的元素组成的集合) lreal; (节点的Shanno~熵} leftpointerjf指向左子树指针) right—pointer;{揩向右手旖指针) END; 根据上述定义 熵减小判定树各节点的s和A,以及熵减小判定封的一条判定路径 可按下述算法导出; (一)准备两个空的放置封节点用的表:open表和closc表。 (二)对于根节点 ,由于 s中元素

文档评论(0)

youbika + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档