有没有一种不平凡的方法可以访问红黑树中的每个红色节点



计算红黑树中红色节点数量的明显解决方案是执行一个简单的递归,该递归访问每个节点,如果节点确实是红色的,则对节点进行计数。但是,有没有比O(n(时间更快的红黑色发丝特性?我无法弄清楚什么属性可以使此操作更快。

没有通用红黑树的属性允许您在 O(n( 时间以外的时间内计算红色节点。如果由于某种原因红色节点的数量非常重要,则可以将计数作为树本身的属性,并在插入/删除重新平衡期间跟踪操作。

即使是在红色节点的子节点上跳过节点颜色检查的

理论可能性(可以这样做,因为这些子节点必须是黑色才能使树有效(是不合理的,因为在这种情况下的检查可能并不比直接检查节点颜色更简单。而那些黑人孩子仍然需要去看望,以便考试继续下树。

最新更新