public class Tree
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private int |
amountOfNodes |
private java.lang.String[] |
data |
private int |
depth |
private int |
index |
private int |
maximumDepth |
private Node |
nodeFound |
private Node |
nodeToFind |
private Node |
root |
private java.lang.String |
turningPointValue |
| Constructor and Description |
|---|
Tree()
Der Konstruktor erzeugt den Baum und setzt alle Werte auf null.
|
| Modifier and Type | Method and Description |
|---|---|
int |
addNode(java.lang.String value)
Die Methode fügt dem Baum einen weiteren Knoten hinzu, falls es zu diesem
Wert noch keinen Knoten gibt.
|
private void |
amountOfNodes(Node node)
Die Methode berechnet rekursiv die Kinderknoten ab dem gegebenen Knoten.
|
private void |
assignChildToParent(Node node)
Die Methode verbindet den Kindknoten mit dem Elterknoten.
|
private void |
assignDepth(Node node)
Die Methode bestimmt rekursiv für jeden Knoten die aktuelle Tiefe.
|
int |
delNode(java.lang.String value)
Die Methode löscht den Knoten mit dem vorgebenen Wert und füllt diesen
Knoten mit einem passenden anderen Knoten.
|
private void |
fillDataArray(Node node)
Die Methode fügt dem Array data[] rekursiv den Baum hinzu, so dass er
rekonstruierbar ist.
|
private void |
freeParentNodeFromChild(Node node)
Die Methode entfernt die Verbindung von dem Elter zum entsprechenden Kind.
|
int |
getAmountOfNodes(Node node)
Die Methode gibt die Anzahl der Kinderknoten ab einem bestimmten Knoten
zurück.
|
int |
getMaximumDepth()
Die Methode bestimmt die Maximale Tiefe des aktuellen Baumes und gibt diese
zurück.
|
Node |
getRoot()
Die Methode gibt die Wurzel des Baumes zurück.
|
private void |
identifyMaximumDepth(Node node)
Die Methode stellt rekursiv die maximale Tiefe fest.
|
int |
loadTree(java.lang.String fileName)
Die Methode lädt aus einer Datei einen Baum in das Programm.
|
private void |
printStructur(Node node)
Die Methode druck rekursiv den aktuellen Knoten in die Konsole.
|
void |
printTree()
Die Methode druckt den gesamten Baum in der Konsole.
|
void |
saveTree(java.lang.String fileName)
Die Methode speichert den aktuellen Baum in eine Datei.
|
private void |
searchTurningPointValueInStructur(Node node,
boolean leftTree)
Die Methode sucht einen Extrempunkt (höchsten oder niedrigsten Wert) in dem
Teilbaum.
|
private void |
searchValueInStructur(java.lang.String value)
Die Methode sucht einen Baum nach einem Wert und speichert den Knoten in
nodeFound.
|
private Node root
private Node nodeToFind
private Node nodeFound
private int index
private int depth
private int maximumDepth
private int amountOfNodes
private java.lang.String[] data
private java.lang.String turningPointValue
public Node getRoot()
public int getAmountOfNodes(Node node)
node - Ab welchem Knoten gezählt werden soll.private void amountOfNodes(Node node)
node - Ab welchem Knoten die Anzahl berechnet werden soll.public int loadTree(java.lang.String fileName)
fileName - Der Name der Datei.public void saveTree(java.lang.String fileName)
fileName - unter welchem Namen der Baum gespeichert werden sollprivate void fillDataArray(Node node)
node - Der Knoten, der hinzugefügt werden soll.private void identifyMaximumDepth(Node node)
node - Der aktuelle Knoten, in dem die Tiefe festgestellt werden soll.public int getMaximumDepth()
public int addNode(java.lang.String value)
value - Der Wert des Knotenspublic int delNode(java.lang.String value)
value - Der Wert des Knotens, welcher gelöscht werden sollprivate void searchValueInStructur(java.lang.String value)
value - Der Wert nach dem gesucht wirdprivate void searchTurningPointValueInStructur(Node node, boolean leftTree)
node - die Wurzel des TeilbaumesleftTree - true, wenn der größte Wert gesucht wird, false, wenn der
kleinsteprivate void freeParentNodeFromChild(Node node)
node - Der Kinderknotenprivate void assignChildToParent(Node node)
node - Der Knoten in der Mitte.private void assignDepth(Node node)
node - Der Knoten, dem die Tiefe zugewisen werden soll.public void printTree()
private void printStructur(Node node)
node - Der zu druckende Knoten.