美文网首页
二叉树结构菜单 - 操作

二叉树结构菜单 - 操作

作者: 游园拾忆 | 来源:发表于2018-03-06 12:13 被阅读18次
二叉树结构菜单
  • 添加:
参数: p_id,  p_lft,  p_rgt

(1) p_id > 0
  新增数据 lft = #{p_rgt},  rgt = #{p_rgt} + 1 ; 返回 id ;
  1. 所有 lft > #{p_rgt} 的数据,lft + 2 ;
  2. 所有 rgt >= #{p_rgt} and id != #{id} 的数据,rgt + 2 ;

(2) p_id == 0
  查询当前最大rgt:rgt
  添加数据:lft = #{rgt} + 1,  rgt = #{rgt} + 2
  • 删除:
参数:删除行的 pid, lft, rgt 

删除数据 lft >= #{lft} , rgt <= #{rgt} ;
1. 所有 lft > #{lft} 的数据,lft - {#{rgt} - #{lft} + 1} ,
2. 所有 rgt > #{rgt} 的数据,rgt - {#{rgt} - #{lft} + 1} ;    
  • 同级上移:
参数:当前级的 lft , rgt 

获取到同级上一个: where rgt = #{lft} - 1 ; 得到 pre_lft , pre_rgt ;
1. 所有 lft >= #{lft}  and rgt <= #{rgt} 的数据,获取到 id_List ;
            lft - ( #{pre_rgt} - #{pre_lft} + 1) 
            rgt - ( #{pre_rgt} - #{pre_lft} + 1)
2. 所有 lft >= #{pre_lft}  and rgt <= #{pre_rgt} 的数据,获取到 id_List ;
            lft + ( #{rgt} - #{lft} + 1) 
            rgt + ( #{rgt} - #{lft} + 1)
  • 同级下移:
参数:当前级的 lft , rgt 

获取到同级下一个: where lft = #{rgt} + 1 ; 得到 next_lft , next_rgt ;
1. 所有 lft >= #{lft}  and rgt <= #{rgt} 的数据,获取到 id_List ;
            lft + ( #{next_rgt} - #{next_lft} + 1) 
            rgt + ( #{next_rgt} - #{next_lft} + 1)
2. 所有 lft >= #{next_lft}  and rgt <= #{next_rgt} 的数据,获取到 id_List ;
            lft - ( #{rgt} - #{lft} + 1) 
            rgt - ( #{rgt} - #{lft} + 1)

相关文章

  • 二叉树结构菜单 - 操作

    添加: 删除: 同级上移: 同级下移:

  • 二叉搜索树

    二叉搜索树 搜索树结构支持许多动态集合操作,包括search,minimum,maximum,predecesso...

  • 二叉查找树的搜索、插入、删除、遍历等操作

    节点结构,每个节点保存left节点 & right节点,以及当前节点的数据 二叉树结构 搜索,使用递归 插入操作,...

  • MIT算法导论十 平衡搜索树一

    平衡搜索树(BST),所有操作的Θ(lgn)(平衡树有可能不是二叉树,这一节只讨论二叉树的情况) 有多重平衡树结构...

  • 18: 二叉树的镜像

    题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述 树结构 解题思路 递归判断交换树的左右子树 AC代码

  • LeetCode.二叉树总结

    二叉树结构体定义 二叉树通用做题的思路1、递归法(深度优先遍历)思路:明确在算法在每个结点需要进行的操作,然后将问...

  • 数据结构(四):平衡二叉树(AVL树)

    通过之前对二叉搜索树介绍可知,将集合构造为二叉搜索树结构,该结构下对树中节点的查询、删除和插入三种操作,时间复杂度...

  • 树结构入门教程-平衡二叉树

    我们通过前两节的学习完成对二叉排序树的基本操作,其中需要注意是二叉排序树的删除节点哪三种场景,本篇我们来学习树结构...

  • 树结构

    树结构 动态查找树主要有: 二叉查找树(Binary Search Tree), 平衡二叉查找树(Balanced...

  • 数据结构与算法之美笔记——二叉查找树

    摘要: 二叉查找树(Binary Search Tree)是一种用于快速查找、插入和删除数据的二叉树结构,虽然二叉...

网友评论

      本文标题:二叉树结构菜单 - 操作

      本文链接:https://www.haomeiwen.com/subject/irmlfftx.html