最容易理解的有序二叉树、平衡二叉树、红黑树

有序二叉树

1、有序二叉树

左边节点值小于父节点值,右边的节点值大于父节点值。

2、查询时间复杂度

查询一个数时,时间复杂度在O(lgn)—O(n)之间,不稳定。

3、解决有序二叉树不稳定的问题

使用平衡二叉树。

平衡二叉树

1、平衡二叉树

在有序二叉树的基础上,要求左右子树的高度差的绝对值不能超过1

2、解决高度差绝对值大于1

进行调整,没事走两步。以LL为例,从造成不平衡节点的最近的不平衡节点3节点向造成不平衡的节点走,3–>2(L)–>1(L)
1)LL
在这里插入图片描述
2)RR
在这里插入图片描述
3)RL
在这里插入图片描述
4)LR
在这里插入图片描述

3、旋转太复杂,如何解决

构造树时有大量旋转,过于复杂,耗费性能。
解决:红黑树

红黑树(内存最优二叉树)

1、红黑树

既要稳定,又要计算机性能耗费不高,还要一个O(logn)
2-3-4树,只有这几种情况。
在这里插入图片描述

2、构建红黑树例子

2节点黑节点,3节点在两个中选其一,4节点中间黑,两侧红

3、红黑树特点

1)节点不是红色就是黑色

2)红黑树当中根节点一定是黑色的

3)叶子节点都是黑色的,没有值

在这里插入图片描述

4)根节点到所有叶子节点,所走过黑色节点数目相同
原因:在中间构建2-3-4节点构建的树时层数相同,并且每一个2、3、4节点中都有黑色。
5)没有成对红色出现,一个红色节点的子节点一定是黑色的
原因:红色是子节点,每一个2、3、4节点都是黑色打头

6)最长黑红黑红,最短黑黑黑(由4、5推出)
---->最长路径不超过最短路径二倍。(稳定的基石)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值