我在一本教科书中发现了这个算法,但我不确定是否理解它。
此外,你认为节点中的
为什么他不能只比较节点与节点?
教科书笔记:
为了在二叉搜索树中移动子树,我们定义了一个子程序
TRANSPLANT(T,u,v){
1 if u.p == NIL
2 T.root = v
3 else if u == u.p.left
4 u.p.left=v
5 else u.p.right == v
6 if v != NIL
7 v.p=u.p
}
此外,你认为节点中的
p
是什么?为什么他不能只比较节点与节点?
教科书笔记:
为了在二叉搜索树中移动子树,我们定义了一个子程序
TRANSPLANT
,它将一个子树替换为其父节点的另一个子树。当TRANSPLANT
用以u
为根节点的子树替换以v
为根节点的子树时,u
的父节点变成v
的父节点,u
的父节点最终将v
作为其适当的子节点。
p
代表“父级”,如 ->u.p // 表示 u 的父级引用
。 - Haomin