美文网首页
红黑树节点插入源码对于图解

红黑树节点插入源码对于图解

作者: 365_9163 | 来源:发表于2020-07-09 18:02 被阅读0次

插入操作分为以下几种情况:

1:叔父节点是红色,此时 只需要改变父节点 叔父节点颜色为黑色,祖父节点为红色,回溯到祖父节点继续

:2.父节点是红色,叔父节点是黑色,节点属于父节点右孩子 节点属于父节点的右(左)子树,并且父节点也属于祖父节点的右(左)子树,改变父节点为黑色,祖父为红色,左(右)旋操作;

3.叔父节点是黑色,节点属于父节点的右(左)子树,父节点属于祖父的左(右)子树,节点回溯到父节点,进行左(右)旋;

1叔父节点是红色,父节点也是红色;

 将父节点和祖父节点设为黑色,祖父节点设为红色,祖父节点设置为当前节点继续操作。

下图;节点属于父节点右孩子,叔父节点是黑色的,父节点属于祖父节点的左孩子;节点回溯到父节点进行左旋。

图2

下图,当前节点(73)父节点是红色,叔父是黑色,节点和父节点都属于其父节点的右孩子;

1父节点设置为黑色2祖父设置为红色3祖父为支点进行右旋

图3

当前节点是红色,叔父是黑色,节点和父节点都属于父节点的左孩子

设置父节点为黑色,祖父节点为红色,以祖父节点为当前节点进行左旋

循环结束,根节点置为黑。

节点插入讲解源码:

对于代码中的情况1.1 对于的节点操作示意如图1

图1.1

对于情况1.2,对于图中代码所示

图1.2所示

对于情况2 ,如下图所示

图2

对于情况3,如下图所示

图3

对于情况4,如下图所示

图4

旋转之后,紧接着进行如下图5 操作

相关文章

  • Collection

    图解集合 8 : 红黑树的移除节点操作 图解集合7:红黑树概念、红黑树的插入及旋转操作详细解读 图解集合 6 : ...

  • 红黑树节点插入源码对于图解

    插入操作分为以下几种情况: 1:叔父节点是红色,此时 只需要改变父节点 叔父节点颜色为黑色,祖父节点为红色,回溯到...

  • 红黑树核心之节点新增

    红黑树插入算法 红黑树节点插入与二叉搜索树类似,由根节点开始寻找待插入的位置。与二叉搜索树不同的内容大致有如下几点...

  • 红黑树

    红黑树: 根节点是黑 插入新节点是红链 左旋右旋 反转颜色,A节点左右子节点都是红链 则子节点全转为黑链,同时A变...

  • 图解红黑树插入

    在复习红黑树的实现时,被网上的一些讲解绕很晕,比如说:这篇。 红黑树本身是一颗二叉查找树,其查询、插入、删除等操作...

  • 红黑树插入节点

    什么是红黑树 红黑树是带有着色性质的二叉查找树。 性质如下:① 每一个节点或者着成红色或者着成黑色。② 根节点为黑...

  • 红黑树插入学习

    红黑树 红黑树主要规则 根节点永远是黑色. 新插入的红点默认永远是红色. 空节点为黑色节点计算. 任何一个节点只能...

  • 数据结构(7)-红黑树的删除和TreeMap源码解析

    红黑树的删除 删除思路 经理了插入节点的磨练,接下来就要说红黑树的删除节点了。在删除红黑树节点时,首先将他当做一个...

  • 红黑树算法及代码(C++版)

    红黑树的定义 1.节点非黑即红。2.根节点为黑。3.红色节点不连续。(插入时,做判定)4.完美黑色平衡:根节点到N...

  • 数据结构—树—红黑树

    红黑树概述 红黑树的插入 红黑树的删除

网友评论

      本文标题:红黑树节点插入源码对于图解

      本文链接:https://www.haomeiwen.com/subject/ccvjxktx.html