data-structures - 全黑节点的树是红黑树吗?

标签 data-structures red-black-tree

维基上的定义似乎并不准确:

http://en.wikipedia.org/wiki/Red-black_tree#Properties

全黑节点的树是红黑树吗?

更新

在 rbtree 的定义不那么严格的情况下,我们如何决定将黑色节点的子节点打印为红色还是黑色?

最佳答案

红黑树只是 2-3-4 tree 的二叉树表示.红黑树中的任何红色节点都对应于类似 2-3-4 树中其父节点的一部分。例如:

           [black 5]
          /         \
      [red 3]     [black 6]
     /       \
[black 2] [black 4]

是 2-3-4 树的表示
    [3 | 5]
   /   |   \
 [2]  [4]  [6]

如果红黑树有 只有黑色节点 ,这意味着它表示只有 2 个节点(单个条目),而不是 3 个节点(例如 [3 | 5] 在示例中)或 4 个节点的 2-3-4 树。请注意,这基本上只是一个普通的二叉搜索树。

关于data-structures - 全黑节点的树是红黑树吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6406658/

相关文章:

arrays - 一次仅删除一个元素后,查找从父数组产生的已排序数组的数量

c - 不理解在 C 中使用递归反转链表的代码片段

c - 我想知道如果这个程序运行 24/7 操作系统会重载吗?

c - 从一棵空树开始,用大 O 表示法插入红黑树的复杂度是多少?

algorithm - 转换为红黑树时,是否有理由选择一种形式而不是另一种形式?

c++ - 使用STL内部实现红黑树

algorithm - 设计一个算法来返回给定时间间隔内唯一用户的数量

algorithm - 为什么在CLRS中Q.head = Q.tail + 1表示队列已满

data-structures - AVL树总是红黑树的子集吗?

algorithm - 红黑树如何旋转