Algorithm 排序值的红黑树插入操作的行为
我不熟悉数据结构。我已经经历了红黑树插入算法的实现。我无法理解算法如何处理排序值的插入 让我用数据集[10,5,2]来说明 因此,将插入初始值10,它将是树的根,其颜色将为黑色。 十, 接下来,我们将在根10下添加5。5的颜色将是红色(到目前为止,它没有违反任何属性)。 现在,我们将添加2。添加后,树的外观如下所示:- 添加2(颜色为红色)将违反红色父项下不允许红色子项的规则。红黑树上有3个案例:-Algorithm 排序值的红黑树插入操作的行为,algorithm,data-structures,tree,red-black-tree,red-black-tree-insertion,Algorithm,Data Structures,Tree,Red Black Tree,Red Black Tree Insertion,我不熟悉数据结构。我已经经历了红黑树插入算法的实现。我无法理解算法如何处理排序值的插入 让我用数据集[10,5,2]来说明 因此,将插入初始值10,它将是树的根,其颜色将为黑色。 十, 接下来,我们将在根10下添加5。5的颜色将是红色(到目前为止,它没有违反任何属性)。 现在,我们将添加2。添加后,树的外观如下所示:- 添加2(颜色为红色)将违反红色父项下不允许红色子项的规则。红黑树上有3个案例:- 所有这三种情况都假设parentOf(newlyInsertedNode)有兄弟姐妹。但在我的
所有这三种情况都假设parentOf(newlyInsertedNode)有兄弟姐妹。但在我的例子中,(2)=5的父母没有兄弟姐妹。因此,红黑树算法将如何处理这种情况。红黑树的细节可能会因文章/书籍/实现的不同而有所不同 然而,有一种非常常见的变体被使用。在此变体中,有特殊的
NIL
子级。NIL
子级包含一个特殊的“Null”键,表示它只是一个叶
RB树的不变量为:
NIL
)都是黑色的NIL
节点是黑色的
使用此通用变量,RB树有4个附加节点: