[发明专利]一种哈希表管理的方法和装置有效
申请号: | 201611102346.8 | 申请日: | 2016-12-02 |
公开(公告)号: | CN108153757B | 公开(公告)日: | 2020-04-03 |
发明(设计)人: | 王晓泾;陈西;刘振伟;包闯;闫振林 | 申请(专利权)人: | 深圳市中兴微电子技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 北京天昊联合知识产权代理有限公司 11112 | 代理人: | 吴俣;姜春咸 |
地址: | 518055 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 哈希表 管理 方法 装置 | ||
1.一种哈希表管理的方法,其特征在于,所述方法包括:
使用链表存储发生哈希冲突的哈希键值对应的哈希表项,使用根表存储各个哈希键值对应的哈希表项、以及链表信息项,所述链表信息项用于指示链表中是否存在每个哈希键值对应的哈希表项;
获取哈希键值以及待存储的哈希表项;
依据所获取的哈希键值读取根表中的存储数据;在读取的存储数据中不包括链表信息项时,将所述待存储的哈希表项存储至根表中;在读取的存储数据中包括链表信息项时,将所述待存储的哈希表项存储至链表中;
其中,所述链表信息项还用于指示链表中存在的哈希表项的地址信息;
所述将所述待存储的哈希表项存储至链表中,包括:
根据所述链表对应的哈希函数,对所获取的哈希键值进行哈希计算,得到第二哈希值,所述链表对应的哈希函数与所述根表对应的哈希函数不同;将所述链表信息项中与获取的哈希键值对应的哈希表项的地址信息记为第三哈希值;
在所述第三哈希值与第二哈希值相同时,在所述链表中根据第二哈希值读取哈希表项,在所获取的哈希键值与链表中读取出的哈希表项中的哈希键值匹配时,将所述链表中第二哈希值对应的哈希表项更新为待存储的哈希表项;在所获取的哈希键值与读取出的哈希表项中的哈希键值不匹配时,在所述链表中插入待存储的哈希表项;
在所述第三哈希值与第二哈希值不相同时,在所述链表中插入待存储的哈希表项。
2.根据权利要求1所述的方法,其特征在于,在获取哈希键值后,所述方法还包括:根据所述根表对应的哈希函数,对所获取的哈希键值进行哈希计算,得到第一哈希值;
所述将所述待存储的哈希表项存储至根表中,包括:
所述根表中存在第一哈希值对应的哈希表项,在所述根表中根据第一哈希值读取哈希表项,在所获取的哈希键值与根表中读取出的哈希表项中的哈希键值匹配时,将所述根表中第一哈希值对应的哈希表项更新为待存储的哈希表项;在所获取的哈希键值与根表中读取出的哈希表项中的哈希键值不匹配,且所述根表中还存在哈希表项的存储位置时,在所述根表中插入待存储的哈希表项;
所述根表中不存在第一哈希值对应的哈希表项时,在所述根表中插入待存储的哈希表项。
3.根据权利要求1所述的方法,其特征在于,所述使用链表存储发生哈希冲突的哈希键值对应的哈希表项,包括:
在读取的存储数据中不包括链表信息项,且所获取的哈希键值与根表中读取出的哈希表项中的哈希键值不匹配,且所述根表中不存在哈希表项的存储位置时,建立链表,在建立的链表中插入待存储的哈希表项。
4.根据权利要求3所述的方法,其特征在于,在所述链表中插入待存储的哈希表项后,所述方法还包括:基于链表中插入的哈希表项,在所述根表中更新链表信息项。
5.根据权利要求1所述的方法,其特征在于,在所述链表中插入待存储的哈希表项后,所述方法包括:基于插入的哈希表项更新链表信息项。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取用于进行哈希查找的查找键值;
根据查找键值在根表中进行哈希表项查找,得到哈希表项查找结果;
在哈希表项查找结果指示根表中存在所述查找键值对应的哈希表项时,在所述哈希表项查找结果中确定根表中与所述查找键值对应的哈希表项;
在哈希表项查找结果指示根表中不存在所述查找键值对应的哈希表项时,根据查找键值在链表中进行哈希表项查找,得到链表中与所述查找键值对应的哈希表项。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:预先设置第一存储空间和第二存储空间,所述第二存储空间的容量大于第一存储空间的容量;
将所述根表中的哈希表项存储于第一存储空间或第二存储空间,将所述链表中的哈希表项存储于第二存储空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市中兴微电子技术有限公司,未经深圳市中兴微电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611102346.8/1.html,转载请声明来源钻瓜专利网。