2013-09-25 5 views
0

Нижеприведенный метод предназначен для метода обхода после заказа для двоичного дерева. У меня есть бинарное дерево, которое выглядит следующим образом:Двоичное дерево - почтовый заказ

Root = 17 
Root.left = 4 
Root.right = 18 
Root.left.right = 8 

С этими значениями я ожидал выход 8, 4, 18, 17, так как 4 корня из 18, и после того, предназначен для печати корней последний; однако я получил результат 4, 8, 18, 17. Любые предложения приветствуются.

public void postOrder(Node n) 
{ 
    if(n == null) 
    { 
     return; 
    } 

    preOrder(n.getLeft()); 
    preOrder(n.getRight()); 
    System.out.println(n.getData()); 
} 

ответ

2

Вы звоните preOrder внутри postOrder который получает вам другой выход.

+0

Не могу поверить, что я этого не видел. Спасибо! – user2814533

+0

Нет проблем, код казался правильным, вам нужно иногда позаботиться о копировании/вставке :) – aUserHimself

Смежные вопросы