Klasse InorderTraverse<T>

java.lang.Object
adt.InorderTraverse<T>
Typparameter:
T - Datentyp der Elemente im Baum.
Alle implementierten Schnittstellen:
Enumeration<T>

public final class InorderTraverse<T> extends Object implements Enumeration<T>
Implementierung einer Inorder-Traversierung für einen binären Baum als Enumeration.

Die Traversierung erfolgt iterativ unter Verwendung eines Stacks.

Reihenfolge: linker Teilbaum -> Wurzel -> rechter Teilbaum.

  • Konstruktordetails

    • InorderTraverse

      public InorderTraverse(Tree<T> tree) throws IllegalArgumentException
      Initialisiert die Traversierung für den angegebenen Baum. Wenn der Baum nicht leer ist, werden die Wurzel und alle linken Söhne auf den Stack gelegt.
      Parameter:
      tree - Der zu traversierende Baum.
      Löst aus:
      IllegalArgumentException - wenn der übergebene Baum null ist.
  • Methodendetails

    • hasMoreElements

      public boolean hasMoreElements()
      Prüft, ob noch weitere Elemente in der Traversierung vorhanden sind.
      Angegeben von:
      hasMoreElements in Schnittstelle Enumeration<T>
      Gibt zurück:
      true, wenn noch mindestens ein Element besucht werden muss;
      false, wenn alle Knoten des Baums bereits durchlaufen wurden.
    • nextElement

      public T nextElement()
      Gibt das nächste Element der Inorder-Traversierung zurück. Nach der Entnahme eines Knotens vom Stack wird dessen rechter Teilbaum besucht und alle Knoten entlang dessen linkem Pfad auf den Stack gelegt.
      Angegeben von:
      nextElement in Schnittstelle Enumeration<T>
      Gibt zurück:
      Das nächste Element (der Inhalt des aktuell besuchten Knotens).
      Löst aus:
      NoSuchElementException - wenn der Stack leer ist und keine weiteren Elemente existieren.