Rekurencyjne wyświetlanie drzewa BST

Rekurencyjne wyświetlanie drzewa BST
LI
  • Rejestracja: dni
  • Ostatnio: dni
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
Kopiuj
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());
}
LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8488
1

co jest korzeniem drzewa? 6 czy 10?

twonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2500
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.