Einrückung beim Travensieren von Bäumen

bvdcomp

Aktives Mitglied
Hallo zusammen

Ich soll eine Aufgabe lösen -> das Traversieren von Bäumen in Vorordnung.

Ich habe die Traversierung zwar geschafft, aber es heisst weiter: "Die Zeilen sollten entsprechend der Tiefe eingerückt werden."

Mein Code:
Java:
...
void PreOrder (Iterand it){
   RekPreOrder (wurzel, it);
}

void RekPreOrder (Knoten kn, Iterand it){
   if(kn !=null)
     it.iter (kn.gibInhalt());
     RekPreOrder (kn.gibLinks(), it);
     RekPreOrder (kn,gibRechts(), it);
}

Das mit dem Einrücken habe ich nicht geschafft, weis da jemand bescheid?

RekPreOrder (kn.gibLinks(), +"\t"+it); -> Ist ja keine Lösung

:rtfm::rtfm:
 
Äh?
Was genau sollst du einrücken? Kann man aus deiner Beschreibung heraus nicht errkennen.

Generell:
Dir ist klar wie man die Tiefe berechnet?
 
Die Ausgabe soll entsprechend der Tiefe eingerückt werden.

Also;

________________start
________nummer

nummer
________________nummer

usw. (Musste es mit _ machen, sonst würde es nicht gehen)

Ja, es ist mir schon klar wie die Tiefe berechnet wird:
Java:
public static int depth(TreeNode node) {
        if (node == null) return 0;
        
        int lDepth = depth(node.left); 
        int rDepth = depth(node.right);     
        
        if (lDepth > rDepth)
            return (1+lDepth);
        else
            return (1+rDepth);
    }
 
Zuletzt bearbeitet:

Zurück
Oben