Class BinarySearchTree<T extends Comparable<T>>


  • public class BinarySearchTree<T extends Comparable<T>>
    extends java.lang.Object

    Autor

    Dokumentiert von: Mert Can Özdemir
    Modul: DAP1

    Dokumentation der generischen Klasse BinarySearchTree

    Die Klasse verwaltet den Anfang und das Ender der Liste. Außerdem weiß sie, wie viele Elemente die Liste enthält

    • Constructor Summary

      Constructors 
      Constructor Description
      BinarySearchTree()
      Der Konstruktor legt einen leeren Baum an
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(T t)
      Fügt den als Argument übergebenen Inhalt in den Baum ein.
      boolean contains​(T t)
      Wenn der als argument übergebene Inhalt ('t') im Baum vorkommt, wird 'true' zurückgegeben.
      Sonst wird 'false' zurückgegeben
      T getContent()
      liefert den Inhalt ('content') des aktuellen Knotens.
      Ist der aktuelle Inhalt leer, wird eine Ausnahme geworfen.
      boolean isEmpty()
      isEmpty() gibt true zurück, wenn der aktuelle Knoten leer ist.
      ist er nicht leer, wird false zurück gegeben.
      boolean isLeaf()
      Wenn der aktuelle Knoten ein Blatt ist, also nicht leer ist und sein linker & rechter Teilbaum leer sind,
      wird true zurückgegeben.
      Sonst wird false zurückgegeben.
      Iterator<T> iterator()
      - Die Klasse 'Iterator' besitzt jetzt einen Typparameter 'T'.
      - Ein 'Iterator', der die Klasse 'Iterator' spezialisiert, liefert also durch seinen 'next'-Methode immer zu 'T' kompatible Objekte
      Iterator<T> listBasedIterator()
      - Die Methode 'listBasedIterator()' liefert einen zum Inhaltstyp 'T' passenden Iterator.
      - new DoublyLinkedList() liefert ein 'DoublyLinkedList'-Objekt, das in seinen Elementen Inhalte des Typs 'T' verwalten kann.
      - Der Aufruf 'toList()' trägt alle Inhalte des Baumes in die Liste in aufsteigend sortierter Folge (mithilfe eines inOrder-Tiefendurchlaufs) ein
      - Die Liste Stellt dann ein 'Iterator'-Objekt zur verfügung
      -> Da die Inhalte des Baumes durch das eintragen in die Liste nun über die Liste erreichbar sind, ist der Iterator für den Baum, der Iterator der Liste.
      void show()
      Führt einen vollständigen inOrder Tiefendurchlauf durch und
      Gibt die Inhalte der Knoten aufsteigend sortiert aus.
      int size()
      Bestimmt die Anzahl unterschiedlicher Knoten im binären Suchbaum
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BinarySearchTree

        public BinarySearchTree()

        Der Konstruktor legt einen leeren Baum an

    • Method Detail

      • getContent

        public T getContent()

        liefert den Inhalt ('content') des aktuellen Knotens.
        Ist der aktuelle Inhalt leer, wird eine Ausnahme geworfen.

      • isEmpty

        public boolean isEmpty()

        isEmpty() gibt true zurück, wenn der aktuelle Knoten leer ist.
        ist er nicht leer, wird false zurück gegeben.

      • isLeaf

        public boolean isLeaf()

        Wenn der aktuelle Knoten ein Blatt ist, also nicht leer ist und sein linker & rechter Teilbaum leer sind,
        wird true zurückgegeben.
        Sonst wird false zurückgegeben.

      • add

        public void add​(T t)

        Fügt den als Argument übergebenen Inhalt in den Baum ein.

      • contains

        public boolean contains​(T t)

        Wenn der als argument übergebene Inhalt ('t') im Baum vorkommt, wird 'true' zurückgegeben.
        Sonst wird 'false' zurückgegeben

      • size

        public int size()

        Bestimmt die Anzahl unterschiedlicher Knoten im binären Suchbaum

      • show

        public void show()

        Führt einen vollständigen inOrder Tiefendurchlauf durch und
        Gibt die Inhalte der Knoten aufsteigend sortiert aus.

      • listBasedIterator

        public Iterator<T> listBasedIterator()

        - Die Methode 'listBasedIterator()' liefert einen zum Inhaltstyp 'T' passenden Iterator.
        - new DoublyLinkedList() liefert ein 'DoublyLinkedList'-Objekt, das in seinen Elementen Inhalte des Typs 'T' verwalten kann.
        - Der Aufruf 'toList()' trägt alle Inhalte des Baumes in die Liste in aufsteigend sortierter Folge (mithilfe eines inOrder-Tiefendurchlaufs) ein
        - Die Liste Stellt dann ein 'Iterator'-Objekt zur verfügung
        -> Da die Inhalte des Baumes durch das eintragen in die Liste nun über die Liste erreichbar sind, ist der Iterator für den Baum, der Iterator der Liste.

      • iterator

        public Iterator<T> iterator()

        - Die Klasse 'Iterator' besitzt jetzt einen Typparameter 'T'.
        - Ein 'Iterator', der die Klasse 'Iterator' spezialisiert, liefert also durch seinen 'next'-Methode immer zu 'T' kompatible Objekte