[发明专利]一种增强型的哈希查找算法无效

专利信息
申请号: 200810236604.0 申请日: 2008-11-28
公开(公告)号: CN101414311A 公开(公告)日: 2009-04-22
发明(设计)人: 李雪蕾;许泽文;杨彪 申请(专利权)人: 武汉虹旭信息技术有限责任公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 武汉宇晨专利事务所 代理人: 黄瑞棠
地址: 430074湖北*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 增强 查找 算法
【说明书】:

技术领域

发明涉及一种哈希(Hash)查找算法,尤其涉及一种增强型的哈希查找算法。

背景技术

哈希表是一种数据元素以散列方式组织的存储结构,在一块连续的存储空间中采用哈希法建立起来的符号表称为哈希表。其基本思想是:元素的存储位置与它的关键字间建立一个确定的对应关系,即设关键字key与存储位置间的对应关系为H(key),若用一维数组来存放数据元素,则H(key)就表示该数组的下标。这样就可以称函数H为哈希函数,H(key)为哈希地址,该一维数组就是哈希表。

哈西查找算法是一种高效的查找算法。哈西查找算法的时间复杂度为0(1),因此具有非常广泛的用途。

一般的哈西查找算法可以总结为F(key),通过H(key)计算元素的存储位置,如果有冲突,那么通过比较key这个集合中的确定元素,确定实际存储位置。

对于比较复杂的查找应用,需要使用多个关键字的多种组合进行查询。如果把全部关键字看做集合key,那么多种组合就是集合key的可变化的子集,这种查询可以看做根据一个关键字集合key的可变化的子集进行查询。F(key)这种查询算法就不太适用了。

比如在同一个应用中根据多个关键字多种组合查找TCP(传输控制协议)会话过程,有时候需要根据整个IP(互联网协议)五元组查找,有时候需要通过源IP+目的IP查找,有时需要根据目的IP+目的端口查找。如果要使用F(key)类型的查找算法,那么就必须为把IP五元组,源IP+目的IP,目的IP+目的端口看做多个key集合,并为这个数据元素集合建立多个hash表,大大增加了应用的复杂度。也就是说,对于查找条件为key的变化子集时,基于F(key)的哈西查找算法会导致实现比较复杂。

发明内容

本发明的目的在于克服现有哈希查找算法存在的缺点和不足,提供一种增强型的哈希查找算法,通过该算法,可以简单地实现多关键字多种组合的哈希查找。

本发明的目的是这样实现的:

本发明包括下列要点:

①将多关键字的全集组成集合key,根据多种组合确定type的值域;

②将F(key)增强为F(key,type),其中type指定查找类型;

③F(key,type)首先使用H(key)计算元素存储位置,当存在冲突时,通过type确定key的子集,通过比较key的子集,确定元素存储位置,完成hash查找。

本发明具有下列优点和积极效果:

①对多关键字可变组合的复杂hash查找提供了一种简单的实现方法。

②扩充了hash查找算法,将hash查找算法的关键字从key这个集合,扩充到了key的变化的子集。

③本发明适用于对多关键字可变组合的复杂hash查找。

附图说明

图1是本发明的查找流程图。

其中:

1—F(key)计算下标;

2—判断冲突链存在;

3—type确定key的子集;

4—根据key的子集查找冲突链;

5—返回找到的元素。

具体实施方式

下面结合附图和实施例详细说明:

本发明的要点③包括下列步骤:

①F(key)计算下标1;

②判断冲突链是否存在2,是则进入下一步骤;否则跳转到步骤⑤;

③type确定key的子集3;

④根据key的子集查找冲突链4;

⑤返回找到的元素5。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉虹旭信息技术有限责任公司,未经武汉虹旭信息技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810236604.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top