[发明专利]一种数据结构转换方法及装置在审
申请号: | 201410314682.3 | 申请日: | 2014-07-03 |
公开(公告)号: | CN105279177A | 公开(公告)日: | 2016-01-27 |
发明(设计)人: | 衡茜 | 申请(专利权)人: | 北京联嘉众赢网络技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 马敬;项京 |
地址: | 100022 北京市朝阳区东三*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据结构 转换 方法 装置 | ||
技术领域
本发明涉及数据转换技术领域,特别涉及一种数据结构转换方法及装置。
背景技术
数据库或文件中存储的数据记录集合中的多条数据记录被读取到内存中,通常以数组结构的方式进行存储。以数据结构存储的数据记录是无规律的,若对数据记录中的数据进行插入、排序、删除等操作,就必须移动大量的数据。
为了方便对数据记录中的数据进行插入、排序、删除等操作,常需要将无规律的数组结构的数据记录转换为有规律的树结构的数据记录。现有技术中,通常是采用递归算法的方式将数组结构存储的数据记录转换为树结构存储的数据记录。
采用递归算法的方式将数组结构存储的数据记录转换为树结构存储的数据记录的过程中,系统要为每一次递归所使用的中间数据(例如:参数、返回地址、局部变量等)分配不同的栈空间来存储。例如:执行第一次递归算法所使用的局部变量为:局部变量a和局部变量b,执行第二次递归算法所使用的局部变量同样为:局部变量a和局部变量b,则系统为执行第一次递归算法所使用的局部变量a分配第一内存空间,系统为执行第一次递归算法所使用的局部变量b分配第二内存空间,系统为执行第二次递归算法所使用的局部变量a分配第三内存空间,系统为执行第二次递归算法所使用的局部变量b分配第四内存空间。
可以看出,递归算法所使用的内存空间较多;同时,为上述数据分配栈空间需要花费一定的时间,数据出栈时也需要花费一定的时间,因此,现有采用递归算法进行数据结构转换的方案所耗费的时间也较多。
发明内容
本发明实施例的目的在于提供一种数据结构转换方法及装置,以减少转换过程中对内存空间的占用,并减少数据结构转换所花费的时间。
为达到上述目的,本发明实施例公开了一种数据结构转换方法,包括:
将数据库或文件中存储的数据记录集合中的多条数据记录读取到内存中,其中,所述数据记录在内存中以数组结构进行存储,每一条数据记录中至少包含有自身数据记录的标识和自身数据记录的父级数据记录的标识;
依次选择数组结构存储的数据记录中的一个数据记录作为当前数据记录,在所述数组结构存储的数据记录中查找目标数据记录,将当前时刻查找目标数据记录所使用的中间数据放入内存空间中,其中,不同时刻下的查找目标数据记录所使用的中间数据相同时,相同的中间数据所放入的内存空间相同,所述目标数据记录为除所述当前数据记录外的其他数据记录、且所述目标数据记录的父级数据记录的标识与所述当前数据记录的标识相同,如果查找到所述目标数据记录,则确定目标数据记录和当前数据记录的父子关系,其中,所确定的父子关系为:目标数据记录作为当前数据记录的子数据记录;
根据所确定的父子关系,将各当前数据记录和各当前数据记录的子数据记录转换为树结构的数据记录,其中,在转换过程中,任一当前数据记录所在节点为:该当前数据记录的子数据记录所在节点的父节点。
较佳的,所述每一条数据记录中还包含自身数据记录的同级顺序值,所述方法还包括:
获得父级数据记录标识相同的各个数据记录的同级顺序值;
根据获得的各个数据记录的同级顺序值,对树结构中的父级数据记录标识相同的各个数据记录进行排序。
较佳的,所述方法还包括:
获得数据记录的查询条件;
按照树结构的层级关系,依次选择树结构中的一层数据记录中的一个数据记录作为当前数据记录,判断当前数据记录是否满足所述查询条件,如果满足,则获得当前数据记录,将所获得的当前数据记录作为查询结果输出。
较佳的,所述方法还包括:
获得数据记录的查询条件;
根据预设的查询条件与数据记录在树结构中层次深度的对应关系,确定与所获得的查询条件对应的数据记录在树结构中的层次深度;
在树结构的所确定的层次深度的数据记录中,查找满足所获得的查询条件的数据记录。
较佳的,所述方法还包括:
获得数据记录的查询条件;
根据预设的查询条件与数据记录在树结构中路径的对应关系,确定与所获得的查询条件对应的数据记录在树结构中的路径;
根据所确定的路径,在树结构的数据记录中,查找满足所获得的查询条件的数据记录。
为达到上述目的,本发明实施例公开了一种数据结构转换装置,包括:数据记录读取模块、目标数据记录查找模块、父子关系确定模块和转换模块,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京联嘉众赢网络技术有限公司,未经北京联嘉众赢网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410314682.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种图像处理方法和系统
- 下一篇:一种数据库操作处理方法及装置