鉴于数据集(8,1,6,9,3,5,4,7),我绘制了以下二叉搜索树:
8
/ \
1 9
\
6
/ \
3 7
\
5
/
4
我的问题是,如果我想从这棵树中删除根节点(8),我该怎么做呢?结果树结构会是什么样子?非常感谢您的帮助!
答案 0 :(得分:1)
您需要从左子树或右子树中提升节点。你可以任意地,或者更好地,从最深的树上推广。
如果从左侧子树进行推广,请始终从左侧子树开始向右找到叶子。从树上剪下这片叶子,并把它作为新的根。
同样,如果从右侧子树进行推广,则通过左侧总是从右侧子树开始查找叶子。将这片叶子从树上剪掉,并将其作为新的根。
答案 1 :(得分:-2)
1
\
6
/ \
3 9
\ /
5 7
/
4
树将如上所示。最好的方法是从头开始重新构建树,而不是有一些逻辑来移动树叶并使过程复杂化。