我有一棵二叉树,并且预遍遍历。 这是我的树。二叉树删除
15
/\
10 23
/\ /\
5 12 20 30
/ /
11 25
\
27
预购这样的结果是:15 10 10 12 11 23 20 30 25 27,比我删除5,12和23个要素
这是确定的
我应该得到这个
15
/\
10 27
\ /\
11 20 30
\
25
结果:15 10 11 27 20 30 25
或该?
15
/\
10 25
\ /\
11 20 30
/
27
结果:15 10 11 25 20 30 27
P.S我得到的第二种情况。如果不正确,删除有什么问题?
UPD:所以第二个更新的变体是正确的?
+1整齐呈现。 – Mahesh
完全依赖于您的树实现,特别是您的删除实现。这意味着没有单一的答案,或者更重要的是,两者都有可能是正确的。而且,根据您的实现,它甚至可能不仅取决于树的初始状态,而且取决于插入/删除导致该点的顺序。 – davin
@Nikita:你为什么要做预购遍历?对于搜索树,您通常会进行“按序”遍历。 – yairchu