[发明专利]一种减少哈希冲突的哈希查找方法在审

专利信息
申请号: 201410778520.5 申请日: 2015-08-03
公开(公告)号: CN104504038A 公开(公告)日: 2015-07-29
发明(设计)人: 白帆;李燕杰 申请(专利权)人: 北京更快互联网技术有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京纽乐康知识产权代理事务所(普通合伙) 11210 代理人: 覃莉
地址: 100007 北京市东城区东*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 减少 冲突 查找 方法
【说明书】:

技术领域

发明涉及一种减少哈希冲突的哈希查找方法。

背景技术

哈希方法,又名散列算法,哈希方法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值;哈希值是一段数据唯一且极其紧凑的数值表示形式,散列算法一般用于快速查找和加密算法,著名的散列算法有RS Hash、JS Hash、PJW Hash、ELF Hash、BKDR Hash、SDBM Hash、DJB Hash以及BP Hash等。

哈希表(HashTable),也叫散列表,是根据关键码值(Key value)而直接进行访问的数据结构,也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度;这个映射函数叫做散列函数,存放记录的数组叫做散列表;给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数,若结构中存在关键字和K相等的记录,则必定存储在f(K)的位置上,由此,不需比较便可直接取得所查记录。这个对应关系f称为散列函数(Hash function),按这个思想建立的表为散列表。

碰撞或冲突, 如果两个不同的输入通过散列函数计算得出的结果是一样的,则称这两个串是一个碰撞,即key1≠key2,而f(key1)=f(key2),既然是把任意长度的字符串变成固定长度的字符串,所以必有一个输出串对应无穷多个输入串,碰撞是必然存在的。

哈希冲突:两个不同的关键字,由于散列函数值相同,因而被映射到同一表位置上,该现象称为冲突(collision)或碰撞;发生冲突的两个关键字称为该散列函数的同义词(synonym)。

冲突基本上不可避免的,除非数据很少,我们只能采取措施尽量避免冲突,或者寻找解决冲突的办法。

影响冲突的因素,冲突的频繁程度除了与选择的哈希函数相关外,还与表的填满程度相关。

设m和n分别表示表长和表中填入的结点数,则将α=n/m定义为散列表的装填因子(load factor),α越大,表越满,冲突的机会也越大;通常取α≤1。

1、现有哈希冲突处理

1)开放寻址法:Hi=(H(key) + di) MOD m,i=1,2,…,k(k<=m-1),其中H(key)为散列函数,m为散列表长,di为增量序列,可有下列三种取法:

1.1  di=1,2,3,…,m-1,称线性探测再散列;

1.2  di=1^2,-1^2,2^2,-2^2,⑶^2,…,±(k)^2,(k<=m/2)称二次探测再散列;

1.3  di=伪随机数序列,称伪随机探测再散列。

2)再散列法:Hi=RHi(key),i=1,2,…,k RHi均是不同的散列函数,即在同义词产生地址冲突时计算另一个散列函数地址,直到冲突不再发生,这种方法不易产生“聚集”,但增加了计算时间。

3)链地址法(拉链法),同一个散列值存储在同一个链表。

4)建立一个公共溢出区

2、现有处理冲突的方法缺点

1)开放寻址法,在冲突发生时,需要进行模运算,极端情况下,将重复多次。

2)再散列法,在冲突发生时,需要通过另一散列函数进行计算散列值,增加了计算的时间,如果另一散列再次冲突,计算时间再次增加,并且影响性能。

3)链地址法,同一个链表中的都是相同的散列表,为了确定查找的串,需要进行串的比较,增加时间。

4)建立公共溢出区,同样在冲突时,将在溢出区中进行查找,还是需要进行串的比较。

综上所述,现有处理冲突有两个大的缺点, 一是需要超过一次的散列,另一个是要进行串的比较,即散列表的查找过程仍是一个和关键字比较的过程,这两大缺点降低了查找性能。

针对相关技术中的问题,目前尚未提出有效的解决方案。

发明内容

本发明的目的是提供一种减少哈希冲突的哈希查找方法,以克服目前现有技术存在的上述不足。

本发明的目的是通过以下技术方案来实现:

一种减少哈希冲突的哈希查找方法,包括以下步骤:

对将要查找哈希值的哈希关键码进行分析,初始所述哈希关键码所对应的三个哈希值,其中,所述三个哈希值不相同;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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