如何在红黑树中找到红色节点的百分比?我熟悉红黑树的属性,但似乎无法绕过如何处理这个问题。我的一个想法是在构建它之后简单地遍历树并计算红色节点,但是对于较大的输入它似乎效率低。
答案 0 :(得分:1)
嗯,你可以换空间......
如果在每个子树中存储红色和黑色节点的数量,则只能通过查看根来确定。
这是红黑树的一个属性,你存储在节点中的信息只能通过查看节点的子节点(可能是它的父节点;我的记忆有点模糊)而不能更新。 ; t影响树操作的复杂性。
所以你的树木建筑会变慢,但只是一个恒定的因素。
如果你只需要确定一次这个百分比,这个因素是否足够小以至于你在实践中节省了任何时间是另一回事。