[发明专利]非递归分类方法和装置在审
申请号: | 201711476700.8 | 申请日: | 2017-12-29 |
公开(公告)号: | CN110019236A | 公开(公告)日: | 2019-07-16 |
发明(设计)人: | 韩至;孟广辉 | 申请(专利权)人: | 北京金风科创风电设备有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/28 |
代理公司: | 北京铭硕知识产权代理有限公司 11286 | 代理人: | 董钢;于翔 |
地址: | 100176 北京市大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 非根节点 递归 方法和装置 分类处理 父节点 分类 数据集中 根节点 内存 排序 访问 查询 广度优先 节点存储 气象数据 溢出 合并 | ||
1.一种非递归分类方法,包括:
获取多个节点,其中,所述多个节点包括一个根节点和多个非根节点,每个非根节点具有一个父节点;
对所述多个节点进行排序;
按照广度优先来逐个访问经过排序的所有节点;
在所述访问的过程中,每当一个节点被访问时,将该节点存储到数据集中,每当被访问的节点是非根节点时,从数据集中查询出该非根节点的父节点,并且将该非根节点合并到查询出的父节点中。
2.如权利要求1所述的方法,其中,所述多个节点中的每个节点属于一个对应的层级,其中,非根节点的层级高于该非根节点的父节点的层级,
所述对所述多个节点进行排序的步骤包括:按照节点所属的层级来对所述多个节点进行排序。
3.如权利要求2所述的方法,其中,所述按照广度优先来逐个访问经过排序的所有节点的步骤包括:
从根节点所属的层级开始逐层访问,
在访问当前层级时,逐个访问属于当前层级的所有节点,
在属于当前层级的所有节点被访问完毕之后,访问属于比当前层级高一级的层级的所有节点,直到所述多个节点中的每个节点均被访问完毕为止。
4.如权利要求1所述的方法,其中,在所述多个节点中,每个节点对应一个唯一标识符,每个非根节点的唯一标识符与该非根节点的父节点的唯一标识符之间存在对应关系,
所述每当一个节点被访问时将该节点存储到数据集中的步骤包括:通过键值对的形式将该节点存储到数据集中,其中,该节点的唯一标识符作为键,该节点的至少一部分属性作为与所述键对应的值。
5.如权利要求4所述的方法,其中,所述从数据集中查询出该非根节点的父节点的步骤包括:
根据该非根节点的唯一标识符与该非根节点的父节点的唯一标识符之间的对应关系,确定该非根节点的父节点的唯一标识符,
将确定的唯一标识符作为键,从数据集中查找出与该键对应的值。
6.如权利要求5所述的方法,其中,所述将该非根节点合并到查询出的父节点中的步骤包括:
为查找出的值设置子数据集,
将该非根节点的至少一部分属性存储的设置的子数据集中。
7.如权利要求4所述的方法,其中,所述键值对被设置为以所述键为关键字的哈希表或哈希映射。
8.一种非递归分类装置,包括:
节点获取模块,用于获取多个节点,其中,所述多个节点包括一个根节点和多个非根节点,每个非根节点具有一个父节点;
排序模块,用于对所述多个节点进行排序;
遍历模块,用于按照广度优先来逐个访问经过排序的所有节点;
存储模块,用于在所述访问的过程中,每当一个节点被访问时,将该节点存储到数据集中;
合并模块,用于在所述访问的过程中,每当被访问的节点是非根节点时,从数据集中查询出该非根节点的父节点,并且将该非根节点合并到查询出的父节点中。
9.如权利要求8所述的装置,其中,所述多个节点中的每个节点属于一个对应的层级,其中,非根节点的层级高于该非根节点的父节点的层级,
所述排序模块按照节点所属的层级来对所述多个节点进行排序。
10.如权利要求9所述的装置,其中,所述遍历模块从根节点所属的层级开始逐层访问,在访问当前层级时,逐个访问属于当前层级的所有节点,在属于当前层级的所有节点被访问完毕之后,访问属于比当前层级高一级的层级的所有节点,直到所述多个节点中的每个节点均被访问完毕为止。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金风科创风电设备有限公司,未经北京金风科创风电设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711476700.8/1.html,转载请声明来源钻瓜专利网。