本文已参与「新人创作礼」活动,一起开启掘金创作之路。
一、2-3-4树
- 树中只能有2、3、4节点,如果超过则分裂。
二、2-3-4树和红黑树的关系
三、红黑树
- 第3点中,红黑树中都有空的叶子节点,有的红黑树中没有显示叶子节点。
- 第4点中,表明没有连续相同颜色的父子节点。
- 第5点中,表明了黑色节点的平衡。
1、左旋和右旋代码实现
代码逻辑:三种情况
右旋同理:
2、红黑树插入
- 总共有6种。在各自的插入情况中,最终都会调整成符合红黑树定义的情况
代码实现:
- 上面代码完成了树的插入,还需要对其进行红黑平衡处理
红黑平衡代码:
工具方法:
平衡方法:
参考资料: www.bilibili.com/video/BV1qK…
我只能说大佬太强了!