我有一个关于BST删除一个子节点案例的非常简单的问题。
我想检查我的root有一个孩子的情况,但是孩子又有两个子节点。它还应该删除整棵树吗?
例如我有
5
/
6
/ \
9 10
如果我删除(5)。它应该删除整个树,因为5只有一个孩子,即6但是6又有两个子节点。 6还应该只有一个孩子,或者我们不关心在为一个孩子的情况删除根5时有多少个子节点6
答案 0 :(得分:0)
7
/ \
5 9
/
3
/ \
1 4
然后,如果我删除5并将其替换为唯一的子树,我得
7
/ \
3 9
/ \
1 4
哪个仍然是BST。
答案 1 :(得分:0)
仅在二叉树中删除节点涉及三种情况,
删除叶节点,只需释放节点空间并使父节点链接为null。
删除具有1个子节点的节点将删除该节点并将孙子节点作为其子节点。
10
/ \
5 15
/ \
2 17
/ \
1 3
如果我们想要删除5,则将2作为10的子项,因此树变为
10
/ \
2 15
/ \ \
1 3 17
这也适用于从树中删除15。