【技术实现步骤摘要】
针对树形结构的节点处理方法及装置、介质、设备
[0001]本专利技术涉及空调
,尤其是涉及一种针对树形结构的节点处理方法及装置、介质、设备。
技术介绍
[0002]数据的查询算法依赖于数据存储的方式,而通常树形结构的数据存储是在节点上存储父节点的编号来确定各节点的父子关系。例如,针对图1示出的树形数据图,各个节点形成的数据表可以参见图2,这样的存储方式可以很直观的体现各个节点之间的关系,通常可以满足大多数场景需求。
[0003]基于这种数据存储方式,在查询某个节点的所有节点时,一般是使用指定节点的编号,一层一层递归往下查。但是当业务需求变得多了,数据量庞大了,树的层级很多时,这样的方式就不再适合了。因为递归查询效率会随着树的层级深度提高而变差,当树的层级很多时,递归方法不断调用自身,当资源用尽时,会导致调用栈溢出,出现系统错误。
技术实现思路
[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本专利技术提供了一种针对树形结构的节点处理方法及装置、介质、设备。
[0005]第 ...
【技术保护点】
【技术特征摘要】
1.一种针对树形结构的节点处理方法,其特征在于,包括:在接收到节点查询指令时,确定待查询节点的第一值和第二值;其中,所述节点查询指令为查询所述待查询节点的所有子节点的指令;所述树形结构中的每一个节点具有第一值和第二值;其中,每一个节点的第一值小于该节点的第二值;在除了根节点之外的其它节点中,每一个节点的第一值大于该节点的父节点的第一值,每一个节点的第二值小于该节点的父节点的第二值;在所述树形结构中查询第一值大于所述待查询节点的第一值且第二值小于所述待查询节点的第二值的节点作为查询到的子节点。2.根据权利要求1所述的方法,其特征在于,所述树形结构中的根节点的第一值和第二值预先采用如下步骤确定:获取所述树形结构的节点数量和预设扩容倍数;计算所述树形结构的节点数量和所述预设扩容倍数之间的乘积,将所述乘积作为所述根节点的第二值,并将所述根节点的第一值设置为1。3.根据权利要求2所述的方法,其特征在于,所述树形结构中第i层中每一个节点的第一值和第二值预先采用如下步骤确定:获取在第i层节点中属于同一个父节点的各个节点的数量和预设扩展数量;其中,i为大于1的整数;获取在第i层节点中属于同一个父节点的各个节点的所属父节点对应的取值长度;其中,所述根节点对应的取值长度为所述根节点的第二值;根据在第i层节点中属于同一个父节点的各个节点的数量和预设扩展数量以及在第i层节点中属于同一个父节点的各个节点的所属父节点对应的取值长度,计算在第i层节点中属于同一个父节点的各个节点对应的取值长度;根据在第i层节点中属于同一个父节点的各个节点对应的取值长度以及所述所属父节点的第一值和第二值,确定第i层中各个节点的第一值和第二值;其中,位于同一层的相邻节点中,后一个节点的第一值大于前一个节点的第二值。4.根据权利要求3所述的方法,其特征在于,采用第一计算式计算第i层中各个节点的取值长度,第一计算式为:式中,C
i
为第i层中属于同一个父节点的各个节点对应的取值长度,C
i
‑1为第i层中属于同一个父节点的各个节点的所属父节点对应的取值长度,N
i
为第i层中属于同一个父节点的各个节点的数量,M
i
为第i层中属于同一个父节点的各个节点的预设扩展数量。5.根据权利要求3所述的方法,其特征在于,所述确定第i层中各个节点的第一值和第二值,包括:将第i层中属于同一个父节点的各个节点中的第一个节点的第一值设置为所属父节点的第一值加1;若第i层中属于同一个父节点的各个节点对应的取值长度大于第i层中的第一个节点的第一值,则在父节点为第i
‑
1层中的第一个节点的情况下,将第i层中...
【专利技术属性】
技术研发人员:张银波,陈良,
申请(专利权)人:四川虹美智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。