红黑树自我理解

1;根节点和空节点为黑色

2;红色节点的子阶段为黑色节点

3;涉及到的节点:新增节点(默认红色)或者当前节点,父节点,爷爷节点,父节点的兄弟节点(爷爷节点的另一个子节点),新增节点的兄弟节点(父节点的另一个子节点),新增节点或者当前节点(默认红色)的子节点

4;父节点颜色为黑色不进行颜色变化和旋转(节点不重组)

5;父节点为红色,父节点的兄弟节点(爷爷节点的另一个子节点)也为红色,则只进行颜色的重组:爷爷节点变为红色(如果是根节点默认为黑色),父节点和父节点的兄弟节点(爷爷节点的另一个子节点)变为黑色。

6;父节点为红色,父节点的兄弟节点(爷爷节点的另一个子节点)也为黑色,新增节点(默认红色)或者当前节点的子节点在爷爷节点的左分支

    6.1;又在父节点的右节点,则父节点进行左旋转,

    6.1.1;左旋转后的节点重组:新增节点(默认红色)或者当前节点===》父节点,新增节点或者当前节点(默认红色)的右子节点===》父节点左节点,父节点===》新增节点(默认红色)或者当前节点的左节点。

    走旋转重组颜色重组:爷爷节点为红色,新增节点(默认红色)或者当前节点为黑色

    未做旋转的颜色重组:爷爷节点为红色,父节点为黑色

    右旋转爷爷节点

7;父节点为红色,父节点的兄弟节点(爷爷节点的另一个子节点)也为黑色,新增节点(默认红色)或者当前节点的子节点在爷爷节点的右分支

    7.1;又在父节点的左节点,则父节点进行右旋转,

    7.1.1;右旋转后的节点重组:新增节点(默认红色)或者当前节点===》父节点,新增节点或者当前节点(默认红色)的右子节点===》父节点左节点,父节点===》新增节点(默认红色)或者当前节点的右节点。

    走旋转重组颜色重组:爷爷节点为红色,新增节点(默认红色)或者当前节点为黑色

    未做旋转的颜色重组:爷爷节点为红色,父节点为黑色

    左旋转爷爷节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值