Klasse ReferenceTree<T>

java.lang.Object
adt.ReferenceTree<T>
Typparameter:
T - Datentyp der Elemente
Alle implementierten Schnittstellen:
Tree<T>
Bekannte direkte Unterklassen:
SearchTree

public class ReferenceTree<T> extends Object implements Tree<T>
Referenz-basierter binärer Baum.

Hinweis: Der Konstruktor ReferenceTree(l, content, r) verlinkt die Teilbäume (keine Kopie). Dadurch können mehrere Baumobjekte dieselben Knoten teilen.

Teilbäume werden verlinkt. Das spart Kopien, bedeutet aber: mehrere Tree-Objekte können dieselben Knoten referenzieren. Mutierende Operationen müssen daher sorgfältig implementiert werden.

  • Felddetails

  • Konstruktordetails

    • ReferenceTree

      public ReferenceTree()
      Erzeugt einen leeren Baum.
    • ReferenceTree

      public ReferenceTree(T obj)
      Erzeugt einen Baum mit genau einem Element als Wurzel.
      Parameter:
      obj - Wert (nicht null)
    • ReferenceTree

      public ReferenceTree(ReferenceTree<T> l, T content, ReferenceTree<T> r)
      Erzeugt einen Baum aus linkem Teilbaum, Wurzelinhalt und rechtem Teilbaum. Teilbäume werden verlinkt (keine Kopie).
      Parameter:
      l - linker Teilbaum (oder null)
      content - Wurzelinhalt (nicht null)
      r - rechter Teilbaum (oder null)
  • Methodendetails

    • empty

      public boolean empty()
      Prüfung, ob der Baum leer ist.
      Angegeben von:
      empty in Schnittstelle Tree<T>
      Gibt zurück:
      true, wenn Baum leer, sonst false
    • left

      public Tree<T> left()
      Rückgabe des linken Teilbaums.
      Angegeben von:
      left in Schnittstelle Tree<T>
      Gibt zurück:
      linker Teilbaum
      Löst aus:
      RuntimeException - wenn Baum leer
    • right

      public Tree<T> right()
      Rückgabe des rechten Teilbaums.
      Angegeben von:
      right in Schnittstelle Tree<T>
      Gibt zurück:
      rechter Teilbaum
      Löst aus:
      RuntimeException - wenn Baum leer
    • content

      public T content() throws NoSuchElementException
      Rückgabe des in der Wurzel gespeicherten Datenobjekts.
      Angegeben von:
      content in Schnittstelle Tree<T>
      Gibt zurück:
      Objet
      Löst aus:
      RuntimeException - wenn Baum leer
      NoSuchElementException