【发布时间】:2011-02-04 02:53:59
【问题描述】:
最近在搜索树,遇到了红黑树,困惑的一点是,在rb树中,根节点应该是黑色的就可以了,现在如何判断传入节点是否为红色或黑色。
我浏览了 wiki 文章,但没有找到解决方案。我可能错了,但如果有人能指导我了解确切的材料,我会很高兴。
[编辑] 例如,如果我的键是 {7, 2, 4, 1, 9, 10, 8}
这里 7 是根,它呈现黑色,但 2 呈现什么颜色?我们如何决定呢?我们如何决定其他节点采用什么颜色?
7 - (Black)
2 9
1 4 8 10
NIL NIL NIL NIL NIL NIL NIL NIL
我们是否有一个随机折腾来决定节点的颜色是红色还是黑色。还是其他过程。
谢谢。
【问题讨论】:
-
问题是,你永远不会一次画出整棵树。你总是一个接一个地插入你的节点并更正你的树的其余部分
-
传入的新节点总是先涂成红色,然后检查树的属性。