- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)