treenode 数据更新

1、用父节点的left更新,每次更新都会更新与其同级的子节点及 其父节点 及与其父节点同级的节点

    if has parent
         pleft = parent left
         update  left = left+2 where left >pleft
         update right = right+2 where right>pleft
         insert left=pleft +1 ,right = pleft +2
   else 
        insert into left = max(right) +1,   right = left +2
 
 
 事例:
 
父节点1 : 1  2 
插入子节点:父节点1为  1   4 ,子节点1为 2   3 ;
插入子节点:父节点1为  1   6 ,子节点1为 4   5,子节点2为 2  3;
插入父节点:父节点1为  1   6 ,子节点1为 4   5,子节点2为 2  3;父节点2为7  8;
插入子节点:父节点1为  1   8,子节点1为  4   5,子节点2为 6  7,子节点3为2  3;父节点2为 9  10;
 

2、用父节点的right更新, 每次更新其父节点 及与其父节点同级的节点建议使用
if has parent
         pright = parent right
         update  left = left+2 where left >= pright
         update right = right+2 where right>= pright
         insert left=pright  ,right = pright + 1
   else 
        insert into left = max(right) +1,   right = left +2
 
 
 事例:
 
父节点1 : 1  2 
插入子节点:父节点1为  1   4 ,子节点1为 2   3 ;
插入子节点:父节点1为  1   6 ,子节点1为 2   3,子节点2为 4  5;
插入父节点:父节点1为  1   6 ,子节点1为 2   3,子节点2为 4  5;父节点2为7  8;
插入子节点:父节点1为  1   8 ,子节点1为 2   3,子节点2为 4  5,子节点3为6  7;父节点2为 9  10;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值