- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
犷 672479
自适应检索树与对GPER「的改进算法
摘要
“查找”在计算机的任何算法中几乎无处不在。据报道,计算机70%以上的
时间在进行查找工作。因此节省查找的时间和空间成为了一个重要的研究课题。
检索树 (trie树)是支持较快查找算法的结构。传统的trie树是一种按字节进行
检索的多叉树,具有比hash表更快的查找速度,主要应用于变长字符串的索引.
其主要缺点是分支结点大,空间利用率低,因为传统的the树的分支结点上的一
个link指针仅可指向一个叶结点,通常情况下许多link指针为空。我们的实验
表明其非空率只有 1/40。对传统的hash算法,最坏情况下查找、插入、删除的
时间复杂性都是 O(n)。可扩充散列的查找在最坏情况下的时间复杂性为
O(maxkeysize)(maxkeysize为关键字的最大长度,实际中多为常数)。但插入、
删除的最坏时间复杂性都是O(n),并且空间复杂性随记录数的增加呈超线性增
长,即空间利用率在记录数较大时是很低的。所谓 “完美的”自适应hash算法,
虽然查找的时间复杂性一般较小,但插入后解决冲突的最坏时间复杂性均在0(n)
以上。本文主要做两方面的工作。第一,改进自适应hash算法gperf,使解决冲
突的速度提高数百倍,并进一步降低查找的时间。第二,在进一步分析检索树,
散列,和可扩充散列等几种算法的设计思想和优缺点的基础上,进行综合,提出
了自适应检索树的算法。该算法所支持的插入、查找、删除在最坏情况下时间复
杂性均为O(maxkeysize),空间复杂性为O(n).
本文的创新之处主要在于:
1.在研究了传统的检索树的基础上,提出自适应检索树的数据结构,并给出其
支持ADT字典的算法,在不增加算法的时间复杂性的前提下,大大改善传统检
索树的空间复杂性,使空间复杂性系数由原来的40左右,降低到3以下。其中
的自适应性一方面体现在分支结点的规模按需的可伸缩,另一方面体现在分支结
点的每一个指针((link)可指向一个字典元素的链表,而且链表的长度等于该分支
结点所在的层次加1。这两方面的自适应性大大降低了全树空link的比例,从根
本上降低了检索树的空间复杂度,使之作为字典的存储结构更具优势。
2 针对D.C.Schmidt的GPERF(完美的Hash函数生成器)中存在的效率问题,
采取包括充分挖掘、利用字典元素关键字的信息,减少冲突,避免无效计算,限
制单桶最大冲突数,将解决冲突的工作分摊给查找操作,分级散列等措施,提出
对GPERF的改进算法,并被实验证明改进的效果显著,使解决冲突的速度提高
数百倍,并进一步降低查找的时间。
关键字:自适应,检索树,散列算法,trie,gperf,hash.
TheAdaptiveTrieTreeandtheImproved
AlgorithmsofGPERF
Abstract
appearsineveryalgorithm.Soitsveryimportanttodecreasethetimeand
spaceneededforsearching.Thetrietreeisadatastructuresupportingfastsearching.
Traditionaltrietreeisasearchingtreeaccordingtothekeybytebybyte.Itsfaster
Themaindisadvantageoftrieis
thehashalgorithm.
itsusingrateofspaceistoolow.Alnikpointeroraorancnnouemauuumuuaiu- 。、、
canpointtoonlyoneleafnode,andusuallymostofthelinkpointersarenull.Only2.5%
ofthelinkpointersarenotnull.Forthetraditionalhashalgorithm,thetimecomplexityof
search,insertanddeleteisO(n)intheworstcases.Th
文档评论(0)