Java 红黑树中红色节点的百分比

Java 红黑树中红色节点的百分比,java,algorithm,tree,percentage,red-black-tree,Java,Algorithm,Tree,Percentage,Red Black Tree,我将如何在红黑树中查找红色节点的百分比?我对红黑树的特性很熟悉,但似乎不知道该如何处理。我的一个想法是,在构建树并计算红色节点后,简单地遍历树,但对于较大的输入来说,这似乎效率低下。好吧,你可以用时间换取空间 如果在每个子树中存储红色和黑色节点的数量,则只能通过查看根来确定 红黑树的一个特性是,存储在节点中的信息只有通过查看节点的子节点(可能还有它的父节点;我的内存有点模糊)才能更新,这不会影响树操作的复杂性。 所以你的树建造会慢一些,但只有一个恒定的因素 如果您只需确定一次该百分比,那么该系数

我将如何在红黑树中查找红色节点的百分比?我对红黑树的特性很熟悉,但似乎不知道该如何处理。我的一个想法是,在构建树并计算红色节点后,简单地遍历树,但对于较大的输入来说,这似乎效率低下。

好吧,你可以用时间换取空间

如果在每个子树中存储红色和黑色节点的数量,则只能通过查看根来确定

红黑树的一个特性是,存储在节点中的信息只有通过查看节点的子节点(可能还有它的父节点;我的内存有点模糊)才能更新,这不会影响树操作的复杂性。
所以你的树建造会慢一些,但只有一个恒定的因素


如果您只需确定一次该百分比,那么该系数是否足够小,从而在实践中节省任何时间则是另一回事。

对不起,StackOverflow不是一种代码编写或基本教程服务。请访问并阅读以了解如何有效地使用此网站。您是应该在不构建树的情况下解决此问题,还是应该先实现红黑树,然后再使用您的实现来发现问题?@molbdnilo我应该先实现红黑树,这是我所做的。我认为计算红色节点百分比的一种方法是遍历树并计算红色节点的数量,但对于n的大值来说,这似乎效率很低。@JimGarrison抱歉,我的问题可能措词不当。我不是要代码,而是要方法来解决在红黑树中查找红色节点百分比的问题。