[发明专利]一种嵌入式哈希表及其操作方法、遍历方法和装置在审
申请号: | 202110341716.8 | 申请日: | 2021-03-30 |
公开(公告)号: | CN112948642A | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 任文龙;刘嵩义;温奎;罗勇 | 申请(专利权)人: | 四川九洲电器集团有限责任公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901 |
代理公司: | 成都行之专利代理事务所(普通合伙) 51220 | 代理人: | 唐邦英 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 哈希表 及其 操作方法 遍历 方法 装置 | ||
1.一种嵌入式哈希表,包括链接法哈希表,其特征在于,还包括双向链表;
所述双向链表包括若干用于存储key键值的键值结点,所述链接法哈希表包括若干用于存储value数据的链接结点;
各个键值结点之间均为双向连接,且每个键值结点与对应的链接结点之间为双向连接。
2.根据权利要求1所述的一种嵌入式哈希表,其特征在于,所述键值结点仅存储key键值且存储类型为uint32。
3.根据权利要求1所述的一种嵌入式哈希表,其特征在于,所述链接结点仅存储value数据的首地址,存储类型为指针类型。
4.根据权利要求1-3任一项所述的一种嵌入式哈希表,其特征在于,所述链接结点由桶结点elem1~elemM和扩展结点node1~nodeN组成,键值结点为key1~keyK,
其中,K值等于哈希表中存储的k-v对数量,M+N≥K。
5.一种嵌入式哈希表的操作方法,其特征在于,包括查找操作:
S1、基于散列函数计算key键值对应的哈希码,读取哈希码对应的链接结点;
S2、比较链接结点指向的键值结点与所查找的key键值,判断key键值是否已经存在,若存在则返回链接结点中的数据。
6.根据权利要求5所述的一种嵌入式哈希表的操作方法,其特征在于,还包括插入操作:
如果查找操作判断结果为key键值不存在,则进行以下操作:
S3、申请一个新的键值结点存储key键值并插入双向链表的首位置,申请一个新的链接结点存储value数据并插入链接结点的最后位置;
S4、建立键值结点和链接结点之间的双向关系。
7.根据权利要求5所述的一种嵌入式哈希表的操作方法,其特征在于,还包括删除操作:
基于所查找的链接结点读取其指向的键值结点,删除键值结点和链接结点,释放对应的存储空间。
8.根据权利要求5所述的一种嵌入式哈希表的操作方法,其特征在于,还包括更新操作:
基于查找操作判断结果,如果key键值不存在,则不予处理,如果存在,则直接更新链接结点中的数值。
9.一种嵌入式哈希表的遍历方法,其特征在于,包括以下步骤:
步骤S01:根据双向链表中结束标识判断是否存在键值结点,若不存在则直接结束遍历;若存在则转入步骤S02;
步骤S02:读取键值结点中的key键值;
步骤S03:根据键值结点和链接结点的双向关系,从键值结点中找到对应的链接结点并读取链接结点中存储的value数据。
10.一种嵌入式哈希表的遍历装置,其特征在于,包括:
判断单元:用于判断双向链表中是否存在键值结点;
第一读取单元:用于读取键值结点中的key键值;
第二读取单元:用于读取链接结点中的value数据;
数据处理单元:用于执行具体的数据操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川九洲电器集团有限责任公司,未经四川九洲电器集团有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110341716.8/1.html,转载请声明来源钻瓜专利网。