红黑树插入节点时uncle是黑色,parent是黑色怎么办?

What if uncle is black and parent is black when inserting a node to red black tree?

我知道有两种情况在红黑树中插入新节点时叔叔是黑色的。但在所有情况下 parent 都是红色的。如果 parent 是黑色,则没有违规。在红黑树的这种情况下我该怎么办?

如果您最终将一个节点添加到 red/black 树中并且其父节点是黑色的,您可以将该节点设置为红色并收工。无需任何修复。如果您查看 red/black 树的规则,这不会导致任何新的违规,因为所有根空路径仍然经过相同数量的黑色节点。

换个角度:如果你把red/black棵树想成一棵等轴测图或2-3-4棵树,那么这个规则对应于取一个叶子有一个键并添加另一个键,这不需要任何进一步的修复步骤。