Tree 二叉树删除一个子节点
我有一个关于BST删除一个子节点案例的非常简单的问题 我想检查我的根节点有一个子节点,而子节点又有两个子节点的情况。它还应该移除整个树吗 因为我有Tree 二叉树删除一个子节点,tree,binary-tree,binary-search-tree,Tree,Binary Tree,Binary Search Tree,我有一个关于BST删除一个子节点案例的非常简单的问题 我想检查我的根节点有一个子节点,而子节点又有两个子节点的情况。它还应该移除整个树吗 因为我有 5 / 6 / \ 9 10 如果我删除(5)。它是否应该删除整个树,因为5只有一个子节点ie 6,而6又有两个子节点。当删除单子条件的根5时,6是否也应该只有一个子节点,或者我们不关心6有多少子节点当一个节点只有一个子节点时,您可以删除它并在其位置移植它的子节点(无论子节点的子树是什么)同时保留二进
5
/
6
/ \
9 10
如果我删除(5)。它是否应该删除整个树,因为5只有一个子节点ie 6,而6又有两个子节点。当删除单子条件的根5时,6是否也应该只有一个子节点,或者我们不关心6有多少子节点当一个节点只有一个子节点时,您可以删除它并在其位置移植它的子节点(无论子节点的子树是什么)同时保留二进制搜索树属性。以下是一个例子:
7
/ \
5 9
/
3
/ \
1 4
然后,如果我删除5并用它唯一的子树替换它,我得到
7
/ \
3 9
/ \
1 4
删除二叉树中的节点只涉及三种情况
- 正在删除叶节点[没有子节点的节点]
- 正在删除具有1个子节点的节点
- 正在删除具有2个子节点的节点
10
/ \
5 15
/ \
2 17
/ \
1 3
在这里,如果我们希望删除5,那么将2作为10的子级,这样树就变为
10
/ \
2 15
/ \ \
1 3 17
这也适用于从树中删除15
这不是二叉搜索树!