[发明专利]适用于存储空间受限的设备的通讯录防重构建方法有效
申请号: | 201910906677.4 | 申请日: | 2019-09-24 |
公开(公告)号: | CN110688380B | 公开(公告)日: | 2023-02-03 |
发明(设计)人: | 李立亚;吴丽;闾立新 | 申请(专利权)人: | 无锡科技职业学院 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 无锡盛阳专利商标事务所(普通合伙) 32227 | 代理人: | 顾吉云;黄莹 |
地址: | 214028 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 适用于 存储空间 受限 设备 通讯录 构建 方法 | ||
本发明提供适用于存储空间受限的设备的通讯录防重构建方法,其可以在有限的内存中高效率运行,且算法简单易懂、复杂度低,易于实现。本发明技术方案中,基于哈希表结构构建主表和从表,联系人姓名与其关联数据通过互相索引形成关联;在加入新的数据到主表、从表时就可以检测到重复,可以用于从不同的源头合并通讯录。加入通信录数据时,利用快速HASH算法计算1次哈希码,再用哈希码模上哈希表的基本容量,计算出数据地址索引的值,如果索引相同,再比较判断数据是否重复。
技术领域
本发明涉及计算机数据处理技术领域,具体为适用于存储空间受限的设备的通讯录防重构建方法。
背景技术
现有技术中,对于通讯录的处理,在数据存储时,大多是不做防重处理,而是在后续的计算的时候,对参与计算的通讯录数据做防重处理。但是,在基于如单片机等存储空间有限的设备上进行开发的时候,在存储的时候,就需要进行防重处理,但是现有的防重方法大多针对存储空间不受限的设备进行设计的,其对存储空间的使用方式,不适用于存储空间有限的设备,在单片机等存储空间有限的设备上应用的时候,会导致运行效率变差。
发明内容
为了解决现有的通讯录防重方法运行于存储空间有限的设备上会发生运行效率变差的问题,本发明提供适用于存储空间受限的设备的通讯录防重构建方法,其可以在有限的内存中高效率运行,且算法简单易懂,易于实现。
本发明的技术方案是这样的:适用于存储空间受限的设备的通讯录防重构建方法,其特征在于,其包括以下步骤:
S1:把所有的需要添加的通讯录数据读入设备的内存中;
S2:根据所述通讯录数据中包含数据种类n_Class,确定需要建立通讯录哈希表的数量n_Directory;每一个所述通讯录哈希表中以其对应种类的数据作为关键码,所述关键码以外的数据作为关联数据、以关联数据地址的形式存储在该表中;
即:n_Class等于n_Directory,且n_Directory、n_Class都为正整数;
S3:构建n_Directory个所述通讯录哈希表;
在每一个所述通讯录哈希表中,每一行的列元素包括:占用标志、数据域、链索引;
所述占用标志的字段用来设置使用标志,表示该记录是否已经被使用;
所述数据域的字段用来存放实际数据,所述实际数据包括:关键码数据字段、关联数据地址字段;
所述关联数据地址字段存储了在另外的关联通讯录哈希表中的索引地址,该索引地址存储了与所述关键码设置了索引关系的其他种类的数据;
所述关键码为联系人姓名的所述通讯录哈希表设置为主表,其他种类的所述通讯录哈希表设置为从表;
在所述主表中,所述关键码数据字段和所述关联数据地址字段的数量关系为:1:Num,其中Num为自然数,且Num≥(n_Class-1);所述主表中的所述关联数据地址字段中,保存了所述关键码以外的其他所有种类的关联数据的索引信息,其中同一种类的所述关联数据地址字段的数量大于等于1;
在所述从表中,所述关键码数据字段和所述关联数据地址字段的数量关系为:1:1;所述从表中的所述关联数据地址字段中,只保存所述主表的关键码的地址;
所述链索引的字段用来支撑拉链法处理冲突,当多条信息需占用同一记录位置时,该字段用来记录下一条记录的索引;
S4:初始化所述通讯录哈希表长度为N+N*y%;
其中,N为哈希表的基本容量,N为正整数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡科技职业学院,未经无锡科技职业学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910906677.4/2.html,转载请声明来源钻瓜专利网。