一种高效率的信息检索算法

来源:网络收集 时间:2025-04-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息
 [摘要] 构造一个新的HASH函数,结合索引顺序表和二分检索法的思想,提出了一种高效率的信息检索算法,通过理论计算和实验证明此算法的平均检索长度小于1.352(N>100)。
  [关键词] HASH函数检索平均检索长度
  信息时代如何提高信息检索的效率一直是信息管理人员关注的问题。提高信息检索效率的有效途径是构建被检索信息与其存放地址之间的关系(HASH)。到目前为止,构造HASH函数的方法很多,常用的方法有:直接定址法、数字分析法、平方取中法、折叠法、除留余数法、随机数法等转换算法。但是不论哪种算法都会出现“碰撞” 现象 , 因而就限制了上述方法的普遍使用。为了解决或减少“碰撞”,我们把HASH的思想和索引顺序表检索的思想,以及二分检索法的思想结合起来提出一种基于HASH表的二分检索法,通过理论分析和实验证明,该算法检索效率极高。
  
  一、HASH函数的构造
  
  桶排序法,先把被排数据所分布的区间[Dmin,Dmax](在这里Dmax,Dmin分别为被排数据的最大,最小值)划分成N个大小相等的子区间,称子为“桶”,然后将N个数据根据其大小分配入相应的“桶”内(桶[1],桶[2],…,桶[N])。借签桶排序中将数据根据其大小分配入相应“桶”的思想,我们在检索时将已排好序的数据也根据其大小将其分配入相应的“桶”内,然后再在“桶”内进行二分检索。假设按升序排列的N个数据已存放在data数组的元素 data[0]~data[N-1]中,构造一个HASH 函数为:
  (式中Dmax=data[N-1],Dmin=data[0],N为数据个数)
  
  二、基于HASH函数的二分检索算法HS
  
  算法HS使用二个数组,data数组的元素 data[0]~data[N-1]中存放按升序排列的N个数据,address数组的元素address[1]~address[N]中用来存贮经HASH函数转换后得到相同地址的数据个数。
  算法HS
  HS1[清address数组]将ddress[1]~address[N]都置0
  HS2[Dmax中置最大值、Dmin中置最小值]Dmax←data[N-1],Dmin←data[0]
  HS3[i置初始值] i←0
  HS4[求数据data[i]的HASH变换后的地址ad]ad
  HS5[地址“碰撞”记数器address[ad]加1] address[ad] ←address[ad]+1
  HS6[修改i] i←i+1
  HS7[比较i与N-1] 若i<=N-1,则转HS4,否则转HS8。
  HS8[address[0]置初值1]address[0] ←1
  HS9[j置初始值]j←1
  HS10 [求地址发生“碰撞”的数据在DATA数组中的首地址]address[j]=address[j]+address[j-1]
  HS11[修改j] j ←j+1
  HS12 [比较j与N] 若j<=N 则转HS10,否则转HS13。
  HS13 [输入一个被检索的数据 X]
  HS14[对被检索数据X 用HASH 函数得地址ad]
  
  HS15 [确定“块”的下界low,上界high的值] low←address[ad-1],high←address[ad]-1
  HS16 [在“块”内进行二分检索] 在给定的下界与上界之间进行二分检索,若找到,则返“检索成功”信息,否则返加回“检索失败”信息。
  HS17 [本算法结束]
  
  三、平均检索长度的分析
  
  在本检索算法中,首先将被检索数据X经HASH函数转换出一个地址,根据这个地址将被检索的数据直接定位到相应的“块”中,然后在“块”中进行二分检索。 因此通过对所有“块”内二分检索法的平均检索长度的计算就可求出本算法的平均检索长度。二分检索法的平均检索长度为:
  
  下面我们来求本算法的平均检索长度。假设在N个数据均匀分布的情况下,经过本检索算法中HASH函数转换,每一个地址出现的概率相同,都等于1/N,因此,有m个数据转换得到相同地址的概率为:
  (m=1,2,…,N)
  参考文献[1] 的附录中已证明:(1)
  所以本检索算法的平均检索长度为(2)
  由上式(1)和式(2)两个公式即可求得本算法的平均检索长度,其平均检索长度小于1.352(当N>100时)。

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典计算机一种高效率的信息检索算法在线全文阅读。

一种高效率的信息检索算法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/shiyong/120240.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219