[发明专利]基于树形数据结构节点的插入的方法和存储装置有效
申请号: | 200910132653.4 | 申请日: | 2009-03-30 |
公开(公告)号: | CN101515298A | 公开(公告)日: | 2009-08-26 |
发明(设计)人: | 杜文华;洪荣峰;易毅 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 逯长明 |
地址: | 518129广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 树形 数据结构 节点 插入 方法 存储 装置 | ||
1.一种基于树形数据结构节点的插入方法,其特征在于,包括:
通过路由器的输入端口接收报文,并获得所述报文的关键码值;
根据待插节点的关键码值在主树中查找最近主树节点,所述最近主树节 点的关键码值小于且最接近待插节点的关键码值;所述主树的根节点初始化 为具有最小的关键码值;其中,所述主树包括父节点、所述父节点的左子节 点和所述父节点的右子节点,且所述左子节点大于所述父节点,所述父节点 大于所述右子节点;
以最近主树节点的外部指针指向的从树作为当前从树,判断当前从树是 否已满,
若是,则在当前从树中任意选择一个节点作为拆分节点,将拆分节点插 入到主树中作为新建主树节点,为新建主树节点分配新建从树,并将新建主 树节点的外部指针指向新建从树,将当前从树中位于拆分节点左侧的全部节 点搬移到新建从树中,然后执行查找最近主树节点,
若否,则将待插节点插入到当前从树中;
所述将待插节点插入到当前从树中包括:
将所述关键码值的协议报文插入当前从树中。
2.根据权利要求1所述方法,其特征在于,所述根据待插节点的关键码 值在主树中查找最近主树节点,以最近主树节点的外部指针指向的从树作为 当前从树具体为:
读取主树根节点的外部指针,设置变量为所述主树根节点的外部指针, 将所述根节点作为当前节点;
判断待插节点关键码值是否大于所述主树根节点的关键码值,设置所述 变量为所述主树根节点的左子节点的外部指针,将所述左子节点作为当前节 点,若否,将所述当前节点的右子节点作为当前节点;
判断当前节点是否为叶子节点,若是,以所述变量指向的从树作为当前 从树。
3.根据权利要求2所述方法,其特征在于,还包括:
判断当前节点是否为空或无效,若是,以所述变量指向的从树作为当前 从树。
4.根据权利要求1所述方法,其特征在于,还包括对主树进行平衡操作, 所述对主树进行平衡操作包括:
在所述主树的某一深度的节点处于未满状态,且所述某一深度非所述主 树的最下层时,执行对主树进行平衡操作;或
在最下层节点以上的各深度节点的为空的数量达到设定值时,执行对主 树进行平衡操作。
5.根据权利要求1至4任意一项所述方法,其特征在于,所述当前从树是 否已满包括:
所述当前从树的使用率是否达到设定的使用率,若是,则确定所述当前 从树已满,若否,则确定所述当前从树未满。
6.根据权利要求1至4任意一项所述方法,其特征在于,还包括:
根据待查节点的关键码值在主树中查找待查节点,若主树中不存在上述 待查节点,则查找最近主树节点;所述最近主树节点的关键码值小于且最接 近所述待查节点的关键码值;
以所述最近主树节点的外部指针指向的从树作为当前从树;
在所述当前从树中查找所述待查节点;或还包括:
根据待删节点的关键码值在主树中查找待删节点,若主树中不存在上述 待删节点,则查找最近主树节点;所述最近主树节点的关键码值小于且最接 近待删节点的关键码值;
以最近主树节点的外部指针指向的从树作为当前从树;
在所述当前从树中查找所述待删节点;
删除所述查找到的待删节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910132653.4/1.html,转载请声明来源钻瓜专利网。