关于二叉树学习的一些心得

平衡二叉树很好理解,而红黑树又是什么?其实这是有发展历程的。完美情况下是可以得到一个平衡二叉树的,但是往往它不容易形成,于是便有了红黑树,发展历程如下:

平衡二叉树 -> 2-3树 ->红黑树

平衡二叉树:

性质1: 可以是空树。 

性质2: 假如不是空树,任何一个结点的左子树与右子树都是平衡二叉树,且高度之差的绝对值不超过1。

2-3树:

性质1:满足二叉搜索树的性质

性质2:节点可以存放一个或两个元素

性质3:每个节点有两个或三个子节点

规则1: 加入新节点时,不会往空的位置添加节点,而是添加到最后一个叶子节点上

规则2: 四节点(个人理解为4号节点,并不是真的内含四个节点的节点,其实内部只有3个节点)可以被分解三个2-节点(同样是2号节点)组成的树,并且分解后新树的根节点需要向上和父节点融合

红黑树(可等价于2-3树):

2-3树 转换成 红黑树:

  1. 将3-节点拆开,成为一棵树,并且3-节点的左元素作为右元素的子树

  1. 将原来的左元素标记为红色(表示红色节点与其父节点在2-3树中曾是平级的关系)

 

  

红黑树的插入与删除逻辑

插入:

删除:

更多细节参见:

https://www.jianshu.com/p/e136ec79235c

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值