Class BinarySearchTree<T extends Comparable<T>>
- java.lang.Object
-
- BinarySearchTree<T>
-
public class BinarySearchTree<T extends Comparable<T>> extends java.lang.Object
Autor
Dokumentiert von: Mert Can Özdemir
Modul: DAP1Dokumentation 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 voidadd(T t)Fügt den als Argument übergebenen Inhalt in den Baum ein.booleancontains(T t)Wenn der als argument übergebene Inhalt ('t') im Baum vorkommt, wird 'true' zurückgegeben.
Sonst wird 'false' zurückgegebenTgetContent()liefert den Inhalt ('content') des aktuellen Knotens.
Ist der aktuelle Inhalt leer, wird eine Ausnahme geworfen.booleanisEmpty()isEmpty() gibt true zurück, wenn der aktuelle Knoten leer ist.
ist er nicht leer, wird false zurück gegeben.booleanisLeaf()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 ObjekteIterator<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.voidshow()Führt einen vollständigen inOrder Tiefendurchlauf durch und
Gibt die Inhalte der Knoten aufsteigend sortiert aus.intsize()Bestimmt die Anzahl unterschiedlicher Knoten im binären Suchbaum
-
-
-
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
-
-