vendredi 29 mai 2015
Binärbaum implementieren - Datenstruktur
Posted on 03:41 by verona
Guten Tag liebe Leute und Java-Experten.
Ich habe die Aufgabe einen Binärbaum zu implementieren.
Die Datenstruktur ist selbst zu implementieren und es durfen keine bereits vorhandenen Implementierungen
verwendet werden, welche das Problem lösen. Sie können selbst entscheiden, ob Sie das Interface GenericTree oder das Interface CharacterTree implementieren. CharacterTree spezialisiert lediglich GenericTree und soll als Erleichterung dienen. Die Implementierung von GenericTree bietet Ihnen jedoch die Moglichkeit Ihren Umgang mit Generics zu ¨ üben.
Zu implementierende Methoden
a) Höhe des Baums bestimmen.
b) Anzahl gespeicherte Elemente
c) Einfügen eines Wertes
d) Uberprüfen, ob ein Wert vorhanden ist
e) Loschen eines Wertes
f) Rucksetzen des Baumes
g) Ordnungen exportieren
So die Methoden zu implementieren sollte kein Problem für mich sein. Ich scheitere jedoch ganz am Anfang bei der Erzeugung des Binärbaumes. Die Datenstruktur eines Baumes besteht aus Knoten. Jeder Knoten hat max 2 Kanten die weggehen und eine Kante die ankommt (von oben). Die Wurzel hat keine Vorgänger.
So mein Problem ist folgende Klasse:
In dieser Klasse muss ich den Baum implementieren. Also einen leeren Baum. Bei den meisten Implementierungen wurden diese beiden Klassen verwendet. Node und BinTree. BinTree erzeugt mir einen Baum mit einer Wurzel welche null ist. Also einen leeren Baum. Danch würde ich mittels add weiter Knoten anbinden und die Methoden implementieren. Aber ich weiß nicht wie ich den Baum in der obigen Klasse implementieren kann, also die Datenstruktur entwickeln. Wie kann ich das realisieren? Wir können uns für eine Klasse, entweder GenericTree oder CharacterTree entscheiden, und die Methoden darin implementieren. Ich würde gerne CharacterTreeImpl implementieren. Aber ich habe keine Ahnung wie ich den Baum erzeugen kann. Kann ich mir diese beiden Klassen irgendwie zur Hilfe nehmen, um den Baum in der obigen Klasse zu implementieren?
Wir haben auch noch ein Sample bekommen wie das aussieht:
Ich weiß nicht was hier passiert. Aus dem factory hole ich mir den Baum, aber ich weiß nicht wie ich Ihn darin implementieren soll.
Ich hoffe jemand hat einen Ansatz für mich, was ich hier machen kann.
Herzliche Grüße, Babel.
Ich habe die Aufgabe einen Binärbaum zu implementieren.
Die Datenstruktur ist selbst zu implementieren und es durfen keine bereits vorhandenen Implementierungen
verwendet werden, welche das Problem lösen. Sie können selbst entscheiden, ob Sie das Interface GenericTree oder das Interface CharacterTree implementieren. CharacterTree spezialisiert lediglich GenericTree und soll als Erleichterung dienen. Die Implementierung von GenericTree bietet Ihnen jedoch die Moglichkeit Ihren Umgang mit Generics zu ¨ üben.
Zu implementierende Methoden
a) Höhe des Baums bestimmen.
b) Anzahl gespeicherte Elemente
c) Einfügen eines Wertes
d) Uberprüfen, ob ein Wert vorhanden ist
e) Loschen eines Wertes
f) Rucksetzen des Baumes
g) Ordnungen exportieren
So die Methoden zu implementieren sollte kein Problem für mich sein. Ich scheitere jedoch ganz am Anfang bei der Erzeugung des Binärbaumes. Die Datenstruktur eines Baumes besteht aus Knoten. Jeder Knoten hat max 2 Kanten die weggehen und eine Kante die ankommt (von oben). Die Wurzel hat keine Vorgänger.
So mein Problem ist folgende Klasse:
Java Code:
-
-
public class TreeFactoryImpl implements TreeFactory {
-
-
@Override
-
public GenericTree<Character> generateCharacterTree() {
-
//Erzeugen (implementieren) Sie hier je nach Wunsch entweder einen GenericTree<Character> oder einen CharacterTree
-
//return new GenericTreeImpl<Character>();
-
//return new CharacterTreeImpl();
-
return null;
-
}
-
}
In dieser Klasse muss ich den Baum implementieren. Also einen leeren Baum. Bei den meisten Implementierungen wurden diese beiden Klassen verwendet. Node und BinTree. BinTree erzeugt mir einen Baum mit einer Wurzel welche null ist. Also einen leeren Baum. Danch würde ich mittels add weiter Knoten anbinden und die Methoden implementieren. Aber ich weiß nicht wie ich den Baum in der obigen Klasse implementieren kann, also die Datenstruktur entwickeln. Wie kann ich das realisieren? Wir können uns für eine Klasse, entweder GenericTree oder CharacterTree entscheiden, und die Methoden darin implementieren. Ich würde gerne CharacterTreeImpl implementieren. Aber ich habe keine Ahnung wie ich den Baum erzeugen kann. Kann ich mir diese beiden Klassen irgendwie zur Hilfe nehmen, um den Baum in der obigen Klasse zu implementieren?
Java Code:
-
-
public class Node {
-
private Node left;
-
private double value;
-
private Node right;
-
public Node(Node left, double value, Node right) {
-
this.left = left;
-
this.value = value;
-
this.right = right;
-
}
Java Code:
-
-
public class BinTree {
-
private Node root;
-
-
/** Erzeugt den leeren Baum */
-
public BinTree() {
-
root = null;
-
}
Wir haben auch noch ein Sample bekommen wie das aussieht:
Java Code:
-
-
public class CharacterTreeSample {
-
doSomethingStrangeWithCharacters();
-
-
howtoUseCompareTo();
-
-
letsUseOurTreeFactory();
-
-
}
-
-
public static void letsUseOurTreeFactory() {
-
TreeFactory factory = new TreeFactoryImpl(); //Hier die eigene Implementierung angeben
-
-
GenericTree<Character> tree = factory.generateCharacterTree(); //Wir holen uns unsere Tree-Instanz
-
-
//Baum befüllen
-
tree.addValue('a');
-
tree.addValue('b');
-
tree.addValue('z');
-
tree.addValue('p');
-
tree.addValue('k');
-
tree.addValue('o');
Ich weiß nicht was hier passiert. Aus dem factory hole ich mir den Baum, aber ich weiß nicht wie ich Ihn darin implementieren soll.
Ich hoffe jemand hat einen Ansatz für mich, was ich hier machen kann.
Herzliche Grüße, Babel.
Binärbaum implementieren - Datenstruktur
Categories: Binärbaum implementieren - Datenstruktur
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire