美文网首页
java - 红黑树 - 特殊的二叉查找树

java - 红黑树 - 特殊的二叉查找树

作者: MJLDG | 来源:发表于2019-12-28 11:35 被阅读0次

R-B Tree,成为红黑树,每个节点上都有存储表示节点颜色的标记

大概了解一下的,只是简单介绍一下红黑树特点,不做树的旋转等操作分析。
具体代码可以研究jdk1.8中HashMap的静态内部类TreeNode 的源代码。
贴出TreeNode属性

    static final class TreeNode<K,V> extends LinkedHashMap.Entry<K,V> {
        TreeNode<K,V> parent;  // red-black tree links
        TreeNode<K,V> left;
        TreeNode<K,V> right;
        TreeNode<K,V> prev;    // needed to unlink next upon deletion
        boolean red;
        TreeNode(int hash, K key, V val, Node<K,V> next) {
            super(hash, key, val, next);
        }

红黑树的特点

1.每个节点不是红色的就是黑色的

  1. 根节点是黑色的

3.每个叶子节点(null节点)都是黑色的

4.每个红色节点下的两个子节点一定是黑色的

5.从任一节点到其子树中每个叶子节点的路径都包含相同数量的黑色节点

本不是标准的平衡二叉树,但是因为加上了特点5作为一种平衡方法,使得性能得到提高

相关文章

  • Java 数据结构 红黑树

    介绍 红黑树是特殊的二叉查找树,又名R-B树(RED-BLACK-TREE)由于红黑树是特殊的二叉查找树,即红黑树...

  • JAVA学习-红黑树详解

    1.定义 红黑树是特殊的二叉查找树,又名R-B树(RED-BLACK-TREE),由于红黑树是特殊的二叉查找树,即...

  • 红黑树笔记

    红黑树笔记 红黑树是平衡二叉查找树的一种。为了深入理解红黑树,我们需要从二叉查找树开始讲起。 BST 二叉查找树(...

  • TreeMap

    需要先了解红黑树,这是之前分析红黑树的文章。之前在分析红黑树时,我认为红黑树=二叉查找树+红黑平衡,关于二叉查找树...

  • HashMap小探(三)之红黑树

    HashMap中的红黑树 红黑树 平衡二叉查找树 红黑树是一种平衡二叉查找树(Binary Search Tree...

  • 17张图带你解析红黑树的原理!保证你能看懂!

    二叉查找树 由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。 二叉查找树(Bin...

  • Golang红黑树

    红黑树 红黑树是每个节点都带有颜色属性(红色或黑色)的二叉查找树。红黑树也属于自平衡二叉查找树。 红黑树具有如下性...

  • 二叉树之RBT

    红黑树是啥? 红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键...

  • 红黑树

    红黑树原理 红黑树(Red-Black Tree,简称R-B Tree),它是一种特殊的二叉查找树。首先它满足二叉...

  • 红黑树

    一、定义 红黑树(Red Black Tree)是一种特殊的二叉查找树(有时也称为2-3-4树),相比二叉查找树,...

网友评论

      本文标题:java - 红黑树 - 特殊的二叉查找树

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