红黑树的简介及特点说明

璐璐 Java面经 发布时间:2022-10-29 22:40:30 阅读数:8296 1 集合容器面试题(2023优化版)
下文笔者讲述红黑树的简介及特点说明,如下所示

红黑树示意图

红黑树的简介

红黑树是一种含有红黑结点并能自平衡的二叉查找树
红黑树需满足以下特性:
 特性1:
    每个节点要么是黑色,要么是红色。
 特性2:
    根节点是黑色。
 特性3:
    每个叶子节点(NIL)是黑色(注意事项,此处的叶子节点,指为空(NIL或NULL)的叶子节点)
 特性4:
     每个红结点的两个子结点一定都是黑色 
 特性5:
     任意一结点到每个叶子结点的路径都包含相同数量的黑结点。
 
  特性5.1:
      如果一个结点存在黑子结点,那么该结点肯定有两个子结点

红黑树如何自平衡呢?

红黑树能自平衡,依靠以下三种操作:
    左旋、右旋和变色
 
左旋:
   以某个结点作为支点(旋转结点)
    其右子结点变为旋转结点的父结点,
	右子结点的左子结点变为旋转结点的右子结点,
	左子结点保持不变

右旋:
    以某个结点作为支点(旋转结点)
	 其左子结点变为旋转结点的父结点,
	 左子结点的右子结点变为旋转结点的左子结点,
	 右子结点保持不变

变色:
   结点的颜色由红变黑或由黑变红。
左旋
红黑树左旋
右旋
红黑树右旋
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202210/16670545954739.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者