Я сделал двоичное дерево, и я пытаюсь сделать обход по порядку.Я уже сделал предварительный обход - который я, хотя и был тем, что мне было нужно.Но после поиска в Google, я обнаружил, что мне нужен почтовый перевод.Я думаю о том, что сначала выходит левый, затем правый, а затем корень (это право по порядку? :)).Я пытался реализовать это, но это выглядит немного странно, результат пришел
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
Может кто-нибудь увидеть, что я делаю не так - я пытался такмного вещей.Ничего не работает.