假设你有一个red-black tree,是一个有效binary search tree和不违反任何这些规则:每个有效的红黑树都可以存在吗?
- 节点是红色或黑色。
- 根部是黑色的。
- 所有叶子(NIL)都是黑色的。
- 每个红色节点的两个孩子都是黑色的。
- 从给定节点到其任何后代树叶的每条简单路径都包含相同数量的黑色节点。
这样的红黑树是这个样子:
是否符合这些限制每一个可能的树有插入和缺失的序列,从而产生红黑树?
我在问这个问题,因为我想写关于红黑树的博客文章,我想举一些例子。
如果你想测试一个反例: 这里是a red-black tree implementation in python与一个实现的功能来生成图像。
为了澄清问题:我们做一个游戏。
- 我绘制一棵红黑树,符合所有限制条件。
- 你必须找到一个插入和删除的序列,以便你最终得到我的红黑树。
我可以得出一个红黑树,让你不能赢?
颜色很重要!如果树具有不同的形状或不同的颜色,它不是相同的红黑树。
你至少应该知道如何产生这两个红黑树:
注意,这是只为你检查它是否能正常工作。如果你只知道如何获得这两棵红黑树,你不能回答这个问题!
我试图将我图形学理论的计算机科学知识弄得灰飞烟灭,当我触摸它时,整个事情都崩溃了......开玩笑的时候,你可能希望跨过这篇文章http://cstheory.stackexchange.com/到获得更多正确的关注。 – 2012-08-03 19:14:06