2-3-4树和红黑树

153 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、2-3-4树

在这里插入图片描述

  • 树中只能有2、3、4节点,如果超过则分裂。

二、2-3-4树和红黑树的关系

在这里插入图片描述

三、红黑树

在这里插入图片描述

  • 第3点中,红黑树中都有空的叶子节点,有的红黑树中没有显示叶子节点。
  • 第4点中,表明没有连续相同颜色的父子节点。
  • 第5点中,表明了黑色节点的平衡。

在这里插入图片描述 在这里插入图片描述

1、左旋和右旋代码实现

代码逻辑:三种情况 在这里插入图片描述 在这里插入图片描述 右旋同理: 在这里插入图片描述

2、红黑树插入

在这里插入图片描述在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

  • 总共有6种。在各自的插入情况中,最终都会调整成符合红黑树定义的情况

代码实现:

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

  • 上面代码完成了树的插入,还需要对其进行红黑平衡处理

红黑平衡代码:

工具方法: 在这里插入图片描述 在这里插入图片描述在这里插入图片描述 在这里插入图片描述 平衡方法:

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

参考资料: www.bilibili.com/video/BV1qK…

我只能说大佬太强了!