我们可以有没有红色节点的红黑树吗?

时间:2013-03-23 13:43:18

标签: algorithm tree red-black-tree

我想知道红黑树是否应该至少有一个红色节点。另外,给定BST,如果我们可以将其转换为RBT,是否有一种独特的方法可以将这棵树变成红黑树?

1 个答案:

答案 0 :(得分:3)

快速浏览properties of a red-black tree表明不需要任何节点为红色。红色节点出现的唯一方法是通过属性5:

  

从给定节点到其任何后代叶子的每个简单路径都包含相同数量的黑色节点。

任何perfect binary tree也满足此属性,因此每个只有黑色节点的完美二叉搜索树也是红黑树。 (不过我不确定教科书的红黑树算法是否能产生这些算法。)

  

另外,给定BST,如果我们可以将其转换为RBT,是否有一种独特的方法可以将这棵树变成红黑树?

任意BST都没有唯一的RBT;除了非常浅的树木之外,总有多个等价的RBT。