Klasse PreorderTraverse<T>

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

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

Die Traversierung erfolgt iterativ unter Verwendung eines Stacks.

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

  • Konstruktordetails

    • PreorderTraverse

      public PreorderTraverse(Tree<T> tree) throws IllegalArgumentException
      Initialisiert die Traversierung für den angegebenen Baum. Wenn der Baum nicht leer ist, wird die Wurzel 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 Preorder-Traversierung zurück. Dabei wird der aktuelle Knoten vom Stack genommen und seine Kinder (zuerst rechts, dann links) auf den Stack gelegt, um die korrekte Preorder-Reihenfolge einzuhalten.
      Angegeben von:
      nextElement in Schnittstelle Enumeration<T>
      Gibt zurück:
      Das nächste Element (der Inhalt des aktuellen Knotens).
      Löst aus:
      NoSuchElementException - wenn keine weiteren Elemente mehr vorhanden sind.