红黑树画图理解

本文详细介绍了红黑树的概念,其与平衡二叉树的区别,特点包括每个节点颜色规则、查询效率高和插入删除操作的限制。同时提及了红黑树在数据结构中的应用和在线可视化资源。
摘要由CSDN通过智能技术生成

红黑树

概念:

红黑树

红黑树(Red Black Tree) 是一种自平衡二叉查找树 , 即一种特化的AVL树(平衡二叉树

与平衡二叉树不同的是,红黑树是弱平衡二叉树,即它的左右子树高度差有可能大于1,但不超过一倍。

平衡二叉树:

它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

平衡二叉树节点的平衡因子,它指的是该节点的两个子树,即左子树和右子树的高度差,即用左子树的高度减去右子树的高度,如果该节点的某个子树不存在,则该子树的高度为0,如果高度差的绝对值超过1就要根据情况进行调整。

二叉树

它是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树 。 在二叉树中,一个元素也称作一个节点

树类比把现实树倒过来

特点

  1. 每个节点要么是黑色, 要么是红色。其中根节点是黑色
  2. 每个叶节点(Nil,空值)都是黑色。
  3. 每个红色节点的两个子节点一定都是黑色,但黑色节点的子节点可以也是黑色
  4. 任意一个节点到每个叶子节点的路径都包含相同数量的黑节点,根节点到任意的叶子节点的黑数个数是一样的
  5. 根节点左右两边的级数不能超过1(会自旋制衡)
    总结:
    根黑叶黑,红不相邻,黑色平衡
    红黑树的优点:查询快(二叉树比数组查询还快)
    红黑树的缺点:添加和删除慢(结构会变)

国外数据结构网站:

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

网站画图

数据结构网站

理解图

初识红黑树

红黑树

红黑树

叶子节点

叶子节点

再添加一个节点观察
黑数同

每个叶节点(Nil,空值)都是黑色
任意一个节点到每个叶子节点的路径都包含相同数量的黑节点,根节点到任意的叶子节点的黑数个数是一样的

红黑树自旋

自旋1
自旋图01
自旋2
自旋图02
自旋3
自旋3
不自旋,会形成单向链表
根节点左右两边的级数不能超过1(会自旋制衡)

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值