[发明专利]迭代法实现均衡树的初始化方法有效
申请号: | 201711106686.2 | 申请日: | 2017-11-10 |
公开(公告)号: | CN108090122B | 公开(公告)日: | 2021-10-22 |
发明(设计)人: | 卢珊;赵永建;罗浩丁;周治国 | 申请(专利权)人: | 中国电子科技集团公司第三十二研究所 |
主分类号: | G06F16/901 | 分类号: | G06F16/901 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 郭国中 |
地址: | 200233 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 迭代法 实现 均衡 初始化 方法 | ||
本发明提供了一种迭代法实现均衡树的初始化方法,其包括以下步骤:步骤一:将所有的搜索索引对齐后,观察每一列;步骤二:若挑出的列只有一个,则就使用该列;步骤三:判断该树的拓扑结构是否满足自定义的拓扑结构,若是,则转步骤四;若否,则在该子树的分组中依次重复步骤二;步骤四:判断目前放在树的拓扑结构的叶子中的搜索索引组是否除了通配符外,剩下的对应列完全相同。本发明成功的降低了代码设计的复杂度,通过回环复用的方式,简化了代码设计。
技术领域
本发明涉及一种迭代法实现均衡树的初始化方法。
背景技术
二叉树是一种重要的非线性数据结构,它是数据元素按照分支关系组织起来的结构,很像自然界中的树那样。一切具有层次关系的问题都可以用树描述,该结构被大量应用于数据的存储和查找中。例如,在网络通讯的数据交换中,需要查找IP地址,来确定转发的情况。而IP地址中存在通配符位,一般在查找的时候遵循最长匹配原则。生成树的存储和查找算法非常符合网络通讯的这种要求,所以该算法被大量应用于网络通信芯片中。
但是,基本的生成树算法中,没有考虑到每项存储数据的被查找的次数的问题。机械的按照能够查找到的原则,将需要查找的表项放在二叉树上。本发明所讨论的所有树均指二叉树。这样,由于树的查找效率与当前表项所处的深度有关,当前查找的表项存放得越深,查找该表项花费的次数和时间周期就越长。若那些被查找概率很大的表项不加判断,被放到非常深的存储位置上,则会浪费很多查找时间,降低该生成树表的查找效率。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种迭代法实现均衡树的初始化方法,其不仅保证了存储在该二叉树的表项可以按照树的查找算法被正确的查找,并且考虑到了被查找项的被查找概率问题,将被查找概率较高的表项放在了层数较少的存储位置,将被查找概率较低的表项放在了层数较深的存储位置,提高了该树的查找效率。
根据本发明的一个方面,提供一种迭代法实现均衡树的初始化方法,其特征在于,所述迭代法实现均衡树的初始化方法包括以下步骤:
步骤一:将所有的搜索索引对齐后,观察每一列,去除那些全0或者全1的列,若存在没有通配符的列,则找出那些列;否则,找出那些通配符最少的列;
步骤二:若挑出的列只有一个,则就使用该列;否则将挑出的所有的列,依次以该列为基准将搜索索引分组,0为左边组,1为右边组,通配符的该行搜索索引不算;依次计算出左右两组的查找次数之差;选出该差为最小的那列,若该列不止一个,则按照统一规则,选取最靠左或者最靠右的那列作为挑选出的列;将该列列号根节点中,并且以该列为基准,将所有的搜索索引分为两组,该列对应的位为0的搜索索引为左边组,该列对应的位为1的搜索索引为右边组,该列对应列为通配符的搜索索引即放入左边组,也放入右边组;
步骤三:判断该树的拓扑结构是否满足自定义的拓扑结构,若是,则转步骤四;若否,则在该子树的分组中依次重复步骤二;
步骤四:判断目前放在树的拓扑结构的叶子中的搜索索引组是否除了通配符外,剩下的对应列完全相同,若相同,则将该叶子上的所有搜索索引以叶子节点的格式存储;若不同,则将该叶子上的所有搜索索引继续执行步骤二,生成下一子树,当下一子树生成结束后,该叶子以根节点格式存放对应内容。
优选地,所述迭代法实现均衡树的初始化方法主要引入了三个缓冲队列空间:子树缓冲空间、叶子缓冲空间和伪叶子缓冲空间。
优选地,所述迭代法实现均衡树的初始化方法采用先进先出的队列方式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十二研究所,未经中国电子科技集团公司第三十二研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711106686.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:图书评论挖掘系统及方法
- 下一篇:净化网络小说页面的方法与装置