删除一棵红黑树的整个子树会保留其属性吗?
|
我目前正在实现红黑树数据结构,以对应用程序执行一些优化。
在我的应用程序中,在给定的点上,我需要从树中删除所有小于或等于给定值(可以假定这些元素是整数)的元素。
我可以一一删除元素,但我想更快些。因此,我的问题是:如果删除一棵红黑树的整个子树,如何修复该树以恢复高度和颜色不变性?
没有找到相关结果
已邀请:
3 个回复
久坡
涸坍饺
和
操作。 拆分:给定值k和红黑树T,将T拆分为两个红黑树T1和T2,以使T1中的所有值
和一个
。 在您的情况下,您需要删除的子树将对应于值
的范围。 因此,您首先在L上ѭ0,以得到T1和T2,且T1 <= T2。在U上
T2以获得T3和T4,且T3 <= T4。现在“ 3”树T1和T4。 在伪代码中,您的代码将如下所示:
请参阅此以获取更多信息:https://cstheory.stackexchange.com/questions/1045/subrange-of-a-red-and-black-tree
捐焦
要回复问题请先登录或注册