导航菜单

漫画算法:5 分钟搞明白红黑树到底是什么?

分钟搞明白红黑树到底是什么?

漫画算法:5分钟了解红黑树是什么?

作者|顽皮的A-Guang

编辑|涂敏

以下是标准二进制排序树

初始状态

实际上,搜索值为226的节点非常简单。搜索动画过程如下:

那不行!

这是一种疾病!

支配!

红黑树是平衡的二叉搜索树。说他平衡意味着他不会成为“蝎子”,他的左腿特别长或右腿特别长。除了二叉搜索树的特征外,还指定了以下特征:

1.节点为红色或黑色

2.根节点是黑色的

3.每个叶子的节点都是黑色空节点(NULL)

4.每个红色节点的两个子节点都是黑色的。

5.从任何节点到其每个叶子的所有路径都包含相同的黑色节点。

以下是标准的红黑树。阿光建议您参考下图了解上面写的红黑树的性质

(可以忽略黑色NULL节点)

例如,上面的标准红黑树,插入一个值为12的节点。

插入后,我发现我仍然符合红黑树的要求!

但是如果插入值为21的节点怎么办?

如下图所示:

让我们来看看颜色的变化吧!

为了符合红黑树的规则,红色节点将变为黑色或黑色变为红色。下图显示了红黑树的一部分。请注意,节点25不是根节点。因为21和22链接显示为红色,不符合规则4,所以将22变为红色:

但是这仍然不符合规则5,所以你需要把25黑变成红色,见下图:

让我们先讨论什么是左旋转!让我们以动画为例吧!

左旋转的示意图如下:

我们来看看它,你可以看到下面的左旋转静态图

根据左旋转,在上侧改变之后图像向左旋转。

看到正确轮换的想法总结如下:

我们来看看它,你可以看到下面的静态旋转图。

接下来,在左旋转后旋转顶部的图像。

生活,就像一棵黑树,总是需要一些平衡

一方给出,另一方接受

一方是支付,另一方是

一方是农业,另一方是收获

一方是材料,另一方是精神

阿光,你已经二十多岁了,没有站着

在光明而多彩的世俗社会中

我希望Aguang能记住它

一个古老但多彩的方式! “生活很容易自由”

因为它愿意,所以无动于衷。

由于简单,很难成为仆人。

所以要保持精神和内在的财富

17: 30

来源: CSDN

漫画算法:5分钟了解红黑树是什么?

作者|顽皮的A-Guang

编辑|涂敏

以下是标准二进制排序树

初始状态

实际上,搜索值为226的节点非常简单。搜索动画过程如下:

那不行!

这是一种疾病!

支配!

红黑树是平衡的二叉搜索树。说他平衡意味着他不会成为“蝎子”,他的左腿特别长或右腿特别长。除了二叉搜索树的特征外,还指定了以下特征:

1.节点为红色或黑色

2.根节点是黑色的

3.每个叶子的节点都是黑色空节点(NULL)

4.每个红色节点的两个子节点都是黑色的。

5.从任何节点到其每个叶子的所有路径都包含相同的黑色节点。

以下是标准的红黑树。阿光建议您参考下图了解上面写的红黑树的性质

(可以忽略黑色NULL节点)

例如,上面的标准红黑树,插入一个值为12的节点。

插入后,我发现我仍然符合红黑树的要求!

但是如果插入值为21的节点怎么办?

如下图所示:

让我们来看看颜色的变化吧!

为了符合红黑树的规则,红色节点将变为黑色或黑色变为红色。下图显示了红黑树的一部分。请注意,节点25不是根节点。因为21和22链接显示为红色,不符合规则4,所以将22变为红色:

但是这仍然不符合规则5,所以你需要把25黑变成红色,见下图:

让我们先讨论什么是左旋转!让我们以动画为例吧!

左旋转的示意图如下:

我们来看看它,你可以看到下面的左旋转静态图

根据左旋转,在上侧改变之后图像向左旋转。

看到正确轮换的想法总结如下:

我们来看看它,你可以看到下面的静态旋转图。

接下来,在左旋转后旋转顶部的图像。

生活,就像一棵黑树,总是需要一些平衡

一方给出,另一方接受

一方是支付,另一方是

一方是农业,另一方是收获一方是材料,另一方是精神

阿光,你已经二十多岁了,没有站着

在光明而多彩的世俗社会中

我希望Aguang能记住它

一个古老但多彩的方式!

“生活很容易自由”

因为它愿意,所以无动于衷。

由于简单,很难成为仆人。

所以要保持精神和内在的财富

仅提供信息存储空间服务。

红黑树

节点

阿光

根节点

阅读()