Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “红黑树”在中的含义是什么:TreeSet将其元素存储在红黑树中,它根据元素的值对元素进行排序;_Java_Collections_Set_Treeset - Fatal编程技术网

Java “红黑树”在中的含义是什么:TreeSet将其元素存储在红黑树中,它根据元素的值对元素进行排序;

Java “红黑树”在中的含义是什么:TreeSet将其元素存储在红黑树中,它根据元素的值对元素进行排序;,java,collections,set,treeset,Java,Collections,Set,Treeset,我正在阅读,我遇到了下面的陈述 TreeSet将其元素存储在一棵红黑树中,对其元素进行排序 基于其价值观的要素 我被“红黑树”这个短语弄糊涂了,我做了一个基本的网络搜索,没有找到满意的答案。对我来说,第三个搜索结果是,这很好地解释了这个概念 基本上,这是一种保持二叉树几乎平衡的方法,这样,不受插入顺序的影响,它不会退化为链表,同时保持插入和删除成本较低。红黑树是一种自平衡二叉搜索树。有几种自平衡树,如2-3树、AA树、AVL树和红黑树 P>自平衡树的目的在考虑非平衡二元搜索树可能存在的最坏情况

我正在阅读,我遇到了下面的陈述

TreeSet将其元素存储在一棵红黑树中,对其元素进行排序 基于其价值观的要素


我被“红黑树”这个短语弄糊涂了,我做了一个基本的网络搜索,没有找到满意的答案。

对我来说,第三个搜索结果是,这很好地解释了这个概念


基本上,这是一种保持二叉树几乎平衡的方法,这样,不受插入顺序的影响,它不会退化为链表,同时保持插入和删除成本较低。

红黑树是一种自平衡二叉搜索树。有几种自平衡树,如2-3树、AA树、AVL树和红黑树

<> P>自平衡树的目的在考虑非平衡二元搜索树可能存在的最坏情况时是显而易见的。 考虑这种情况:首先将一个整数插入到一个空树中,以实现非自平衡。继续插入每个值大于上一个值的整数。最糟糕的强制转换检索时间是插入的最后一个元素,时间复杂度为On。这是因为您必须遍历整个树才能到达所需的元素,就像链表一样


这比时间复杂度为Olg n的平衡二叉搜索树要糟糕得多。因此,有一些方法,例如红黑树,试图确保树是平衡的,这意味着每个子节点的权重是相同的。

1每个节点都有红色或黑色,树的根始终是黑色的

2没有两个相邻的红色节点红色节点不能有红色父节点或红色子节点,红色节点需要有黑色父节点


3从根节点到NIL节点的每条路径都有相同数量的黑色节点。

维基百科有一个条目红黑树。在谷歌的第一页上还有其他一些不错的条目。我很好奇为什么你的搜寻不顺利。