二叉树之红黑树学习总结

红黑树学习总结:

一:红黑树规则

 1.1 根是黑色 

    2.不能有连续两个红色节点

    3. 所有叶子节点下面的两个节点是黑色 且为null

    4.所有节点到底部 路径上含有的黑色节点数目相同

    5. 每个节点要么红 要么黑

二:红黑树的两大操作

1. 红黑互相转换

2.旋转

   旋转适用于左右,右左的情况  (打个不恰当的比方:二叉树 骨折了 要弄直)

 

    2.1 左旋 

              要把骨折部位 bai向左边 让树成为一条直线 ,并且交换父子元素的位置

   2.2 右旋

             要把骨折部位 bai向右边 让树成为一条直线,并且交换父子元素的位置

三. 红黑树的几种变换

    术语 G 祖父 P 父亲 U 叔叔

     第一类情况(无脑插入):

     如果父亲是黑色

      将新插入的节点变为红色(变色操作) 如果是根则为黑色

     第二种情况: 

    父亲是红色 这样就违背了规则 

    这样再更具叔叔的颜色分为两种情况 : 叔叔红(same as father) 叔叔黑(different as father)

    2.1叔叔红: 简单,直接把 祖父和 父亲叔叔颜色对调 就OK

    2.2叔叔黑: 分为四种情况  下面的左右指的是 G->P->X 这一条线

    左左:p 是 g 的左子节点 x是p的左子节点  直接以父节点 P 当作绳子的节点 直接令起来 第二部:变色 祖先 黑 其他两个红

    右右 :操作同左左

    左右: 先经行左旋 P-> X的树枝骨折了,那么先左旋 交换位置 变成直线 然后以 P 为节点令起来

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值