我正在阅读有关红黑树的信息,并且我知道节点可以是红色或黑色。规则说:
1) 每个节点都有一种颜色——红色或黑色。
2)树的根总是黑色的。
3)没有两个相邻的红色节点(一个红色节点不能有一个红色的父节点或红色的孩子)
4) 从一个节点(包括根节点)到它的任何后代 NULL 节点的每条路径都有相同数量的黑色节点。
没有说明哪些节点应该编码为红色?我知道树可以有所有黑色节点,但我不明白的是我们什么时候应该将节点标记为红色?
我还想了解这种颜色编码背后的原因。我知道 RB 树基本上是一棵自平衡树,但我想了解这种二进制颜色编码对此有何帮助?