Anzahl der Knoten in einem Baum ausgeben!

Luk10

Top Contributor
Hallo,

meine Frage bezieht sich auf die Datenstruktur Baum. Dort möchte ich rekursiv die Anzahl aller Knoten in diesem Baum ausgeben.

Aufgerufen wird die Methode auf den ersten Knoten (obersten) also die Wurzel.
Es handelt sich um einen Baum mit x Kinderknoten in einem Array.

Mein Ansatz:
Java:
public int getAnzahl () {
  int anzahl = 1;
  for (Knoten k : Kinderknoten) {
    anzahl += k.getAnzahl();
  }
  return anzahl;
}

Abschluss gibt 0 zurück!

Ansatz im Lehrbuch:
Java:
public int getAnzahl() {
  int anzahl = anzahlKinderknoten //Instanzvariable der aktuellen Anzahl der Kinderkn. im Array
  for (Knoten k : Kinderknoten) {
    anzahl += k.getAnzahl();
  }
  return anzahl;

Was ist der Unterschied und könnt ihr meinen Verdacht bestätigen, dass mein Ansatz richtig (im Gegensatz zu dem im Lehrbuch) ist?

Blöde Rekursion verwirrt micht ;(

Danke,
-Luk-
 
Okay...

Aufgerufen wir die Methode in der Klasse Baum:

Java:
//Wurzel des gesammten Baumes vom Typ Baumelement (Superklasse von Knoten)
wurzel.getAnzahl();//Liefert immer min 1 zurück

Was ist mit der anderen Methode aus dem Lehrbuch? Sieht total seltsam aus denke ich ...

Danke,
-Luk-
 
Ja eigentlich sieht die Methode so aus:

Java:
//<Klasse: Baum>
public void anzahlAusgeben () { 
  System.out.println("Anzahl der Knoten: " + wurzel.anzahlGeben();
}
 

Zurück
Oben