Rekurencyjne wyświetlanie drzewa BST

0

Cześć .
Dlaczego ta metoda wywołuje się z poprzednimi wartościami ?
Dlaczego nie drukuje jedynie 6 ?
Przedstawię swój tok rozumowania.
Bierze na celownik wartość 6 następnie sprawdza czy jest lewy węzeł, nie ma więc wyświetla wartość 6 następnie sprawdza czy dla tego samego węzła jest coś po prawej, nie ma więc kończy działanie.

Drzewo :
              10
    8                    12
6     9            11       13
                                       15

Wynik : 6, 8, 9, 10, 11, 12, 13, 15
public void showTree(Node node)
{
    Node temp = node;
    if(temp.getLeft()!=null)
        showTree(temp.getLeft());
    System.out.println(temp.getValue());
    if(temp.getRight()!=null)
        showTree(temp.getRight());
}
1

co jest korzeniem drzewa? 6 czy 10?

0

Byłoby tak, gdybyś wołał showTree() dla węzła 6, a nie 10.

1 użytkowników online, w tym zalogowanych: 0, gości: 1