红黑树(C#)

红黑树(C#)

 

 

 黑树是插入操作类似于儿茶查找树的插入操作。只是把退出条件将NULL改为统一的叶子节点即可。关键的是对红黑树插入之后的调整操作

调整策略如下:(插入调整主要是考虑当前节点和当前节点的叔叔之间的关系)

1、叔叔节点颜色为红色

     将父亲节点的颜色改为黑色

     将叔叔节点的颜色改为黑色

     将当前节点的指针改为其父亲节点的父亲

2、当叔叔节点颜色为黑色,且当前节点在其父亲节点的右子树上

     将当前节点指针移动到其父亲节点

     并以当前节点为轴进行左转操作

3、 当叔叔节点颜色为黑色,且当前节点在其父节点的左子树上

       将当前节点的父节点涂黑

       将父节点的父节点涂红

       以父节点的父节点为轴进行右转操作

 

由于逻辑比较复杂,等过一段时间再放上.可以先参考这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值