我正在尝试删除在这种情况下具有左和右子节点的节点D.
D
/ \
A F
\
B
所以当我尝试删除D时,我应该用B替换它,因为B是左子树中的下一个最大元素。因此,我可以用F替换它而不是用B替换它吗?
答案 0 :(得分:0)
你可以,但它不会是最佳的。您希望您的树始终保持平衡,以便插入和删除将保持在O(log n)
附近答案 1 :(得分:0)
首先,只是一个二叉树未分类。我假设你的树是二叉搜索树。如果您想要的是保持树的排序比是,则可以使用F替换此特定示例。如果您的树更复杂,如果没有其他操作,您将无法执行此操作 - 例如,如果存在,您将需要对F的子项执行某些操作,并且需要进行额外的不必要处理。