我在大学学习CS,我有一个问题,我有问题证明。
证明当
Y
没有正确的孩子时,BST上节点X
的后继X
是X
的最低祖先,即剩下的孩子也是X
的祖先。
我需要考虑所有案件,包括叶子,除了最右边,因为他没有继承人。
你们可以给我一些从哪里开始的提示吗?
答案 0 :(得分:3)
BST节点的inorder遍历访问左子树,节点本身,然后访问右子树。
因此,如果X
(没有正确的孩子)是其父亲的左子女,那么我们知道其继承人是父母。这是从顺序遍历的定义开始的。
如果X
是其父项的正确子项,那么父项在遍历中位于它之前(尽管它不是 immediate 前任,除非X
没有左子树) 。这也是从顺序遍历的定义得出的。 X
的后继者,因为它没有正确的子树,所以必须在树中高于它。继承人不能是父母,所以如果X
不存在,父母的继承人必须是父母的继承者。