【发布时间】:2012-01-01 22:04:05
【问题描述】:
我已经制作了一棵二叉树,并且正在尝试进行后序遍历。我已经进行了预购遍历——尽管这正是我所需要的。但是在谷歌搜索遍历之后,我发现这是我需要的后序。 我的想法是遍历首先出现左侧,然后是右侧,然后是根(它是后序对吗?:))。 我试图实现它,但结果看起来有点奇怪
public static <E> String postorder(BinaryTree<E> t, Position<E> v){
String tree = "";
if(t.hasLeft(v)){
tree += postorder(t, t.left(v));
}
tree += v.element() +", ";
if(t.hasRight(v)){
tree += postorder(t, t.right(v));
}
return tree;
}
我的树是:
45
/ \
22 77
/ \ \
11 30 90
\ / /
15 25 88
我的结果应该在我知道之后 15,11,25,30,22,88,90,77,45 但它是 11,15,22,25,30,45,77,88,90
谁能看到我做错了什么 - 我已经尝试了很多事情。没有任何效果。
【问题讨论】:
标签: java binary-tree