读书人

红黑树 自发找出一个反例 求解惑

发布时间: 2013-06-26 14:29:32 作者: rapoo

红黑树 自觉找出一个反例 求解惑
红黑树 自发找出一个反例 求解惑


红黑树规则:
性质1. 节点是红色或黑色。
性质2. 根是黑色。
性质3. 所有叶子都是黑色(包括NIL)。
性质4. 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
性质5. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。


如上图:满足了红黑树的基本规则,但是两边的高度差为2,即非平衡。怎么解释呢?

[解决办法]

引用:
根据平衡树的定义:
平衡树,即平衡二叉树(Balanced Binary Tree)[1],具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

也就是说红黑树不一定是平衡树,是这样吗?


是的。。你那是AVL树。。

读书人网 >C++

热点推荐