证明:在RB-DELETE中,如果y是红色的,则当y被删除后,红黑性质得以保持
来源:互联网 发布:mac intellij idea 编辑:程序博客网 时间:2024/05/17 06:07
在RB-DELETE中,当y是黑色时,会调用RB-DELETE-FIXUP函数对红黑树的颜色进行调整,这意味着,如果y是红色的,就不需要进行调整,下面来证明这个命题的正确性。
首先,红黑树的性质1)和3)显然满足,对于性质2)、4)和5)分为3种情况来讨论。
对于情况1),删除的结点z的子结点只有黑色哨兵结点,这种情况下,y=z,删除y不会对红黑树的黑高度造成影响,y是红色,也不可能是根,也不可能造成出现两个红色结点相邻,因此,性质2)、4)和5)都满足。
对于情况2),删除的结点z的子结点有一个是黑色哨兵,另外一个是普通结点,有y=z,对于y是红色结点的情况实际上不可能出现,因为如果那个普通结点是黑,会使红黑树的黑高度不一致,违反性质5),如果是红,会违反性质4)。
对于情况3),删除的z结点有两个普通子结点,这种情况下,y= TREE-SUCCESSOR(z),如果y是红色结点,那么y的两个孩子一定都是nil[T],否则会违反红黑树的性质,因此,删除y后,剩下的红黑树,对于性质2),4)和5)都保持满足。
- 证明:在RB-DELETE中,如果y是红色的,则当y被删除后,红黑性质得以保持
- 在RB-INSERT的第16行中,假设新插入的结点z是红色的。注意如果将z着为黑色,则在红黑树的性质4)就不会被破坏。那么我们为什么没有选择将z着为黑色呢?
- 证明题:证明当n是一个整数且n>2时,方程x^n+y^n=z^n无正整数x,y,z的解。
- 如何编程证明:当n是整数且n>2时,方程x^n+y^n=z^n无正整数解x,y,z
- 顺序表中删除值在X--Y之间的元素
- (x&y) + ( (x^y)>>1 )证明
- (x&y) + ( (x^y)>>1 )证明
- (x&y) + ( (x^y)>>1 )证明
- (x&y) + ( (x^y)>>1 )证明
- (x&y) + ( (x^y)>>1 )证明
- 用循环不变式证明RB-DELETE-FIXUP的正确性
- 当eChart的Y轴必须是整数时,对原echarts_common.js进行补充
- y
- y
- Y
- Y
- Y
- Y
- Study on Android【四】--显示控件使用
- extaspnet 实现2个表格行相互拖拽
- linux--df
- Study on Android【五】--自定义ContentProvider的语义
- iPhone开发技巧之环境篇(6)--- 创建工程模板
- 证明:在RB-DELETE中,如果y是红色的,则当y被删除后,红黑性质得以保持
- string与cstring的区别
- iPhone开发技巧之环境篇(7)--- 区分不同版本的iPhone
- iPhone开发技巧之环境篇(8)--- 使用非公开的API
- 开始
- Android中aidl如何import文件
- PostgreSQL 注入整理
- 如何在Android模拟器上安装已下载的APK软件包
- 类模板