Przeszukanie drzewa binarnego w podanej ilości kroków z "darmowym" cofaniem się

0

Witam.
Potrzebuje napisać algorytm który przeszuka drzewo we wszystkich możliwych kombinacjach z "darmowym wracaniem", nie wiem jak to lepiej nazwać, może zilustruję.

Przykładowe drzewo. Dla max 4 ruchów powinien sprawdzić takie możliwości:

user image
user image
user image
user image
user image

Dodatkowo powinien zliczać wartości każdego węzła i znaleźć max, ale z tym sobie już poradzę.

Może ten algorytm ma jakąś nazwę i znajdę potrzebne informacje w google. Potrafi ktoś pomóc ?

0
    private void inOrder(Node localRoot) {
        if (localRoot ! = null)
        {
            inOrder(localRoot.leftChild);
            System.out.print(localRoot.iData + " ");
            inOrder(localRoot.rightChild);
        }
    }
 

https://pl.wikipedia.org/wiki/Przechodzenie_drzewa

0

Ok, dzięki. Właściwie to taki algorytm miałem już napisany, tylko jak zrobić aby sprawdzał łączną wartość tych połączeń jak na obrazkach wyżej ? (dla uproszczenia wartość węzła to jego index).
w 1 obrazku to będzie 19
w 2 to bedzie 15
w 3 to będzie 17 itd.

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