Ich habe es seit zwei wochen versucht aber nix kommt raus 
ich hoffe jemand kann mit weiter helfen.
Das ist die Aufgabe:
Ein Binärbaum wird durch einen Knoten (node) abgebildet; der Knoten, der die Wurzel des Baums repräsentiert,
heißt Wurzelknoten (root). Jeder Knoten hat einen Schlüsselwert (key) und einen damit assoziierten
Zielwert (value). Ein Knoten kann einen rechten und einen linken Teilbaum haben. Alle Knoten im linken
Teilbaum haben ausschließlich Schlüsselwerte die kleiner sind als der Schlüsselwert des betrachteten Knotens.
Die Schlüsselwerte der Knoten im rechten Teilbaum sind ausnahmslos größer als der des betrachteten
Knotens. Zwischen den Schlüsselwerten muss eine Ordnungsbeziehung bestehen, so dass sie vergleichbar
sind (größer, kleiner, gleich). Ein Knoten ohne linken bzw. rechten Teilbaum heißt „Blatt“ (leaf ).
Der Einfachheit halber gehen wir davon aus, dass Schlüsselwerte ganzzahlig und Zielwerte Zeichenketten
sind.
Implementieren Sie die Klasse Node mit den gegebenen Attributen und drei Methoden: dem Konstruktor,
einer get- und einer insert-Methode.
Dem Konstruktor muss ein Schlüsselwert übergeben werden; die Angabe eines Zielwertes, eines rechten
und linken Knotens ist optional.
Die get-Methode betrachtet den vorliegenden Knoten als Wurzelknoten und sucht zum gegebenen
Schlüsselwert den Knoten mit diesem Schlüsselwert heraus. Sollte kein Knoten mit diesem Schlüsselwert
existieren, wird „nichts“ zurückgegeben – in den meisten Programmiersprachen ist das ein
Null, None oder Nil.
Die insert-Methode fügt, ausgehend vom vorliegenden Knoten, einen Knoten mit dem übergebenen
Schlüsselwert und dem optionalen Zielwert in dem Baum ein. Eine geeignete Einfügestelle muss
dazu gefunden werden. Existiert bereits ein Knoten mit dem Schlüsselwert, so wird der Zielwert
überschrieben.
-----------------------------------------------------------------------------------------------
Bis jetzt habe ich nur das hier geschrieben:
public class Node {
int key;
String value;
Node left,right;
public Node(int key) {
// TODO Auto-generated constructor stub
this.key=key;
}
public Node(int key, String value){
this.key=key;
this.value=value;
}
public Node(int key, String value, Node left, Node right){
this.key=key;
this.value=value;
this.left=left;
this.right=right;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
------------------------------------------------------
es sieht so aus:
ich hoffe jemand kann mit weiter helfen.
Das ist die Aufgabe:
Ein Binärbaum wird durch einen Knoten (node) abgebildet; der Knoten, der die Wurzel des Baums repräsentiert,
heißt Wurzelknoten (root). Jeder Knoten hat einen Schlüsselwert (key) und einen damit assoziierten
Zielwert (value). Ein Knoten kann einen rechten und einen linken Teilbaum haben. Alle Knoten im linken
Teilbaum haben ausschließlich Schlüsselwerte die kleiner sind als der Schlüsselwert des betrachteten Knotens.
Die Schlüsselwerte der Knoten im rechten Teilbaum sind ausnahmslos größer als der des betrachteten
Knotens. Zwischen den Schlüsselwerten muss eine Ordnungsbeziehung bestehen, so dass sie vergleichbar
sind (größer, kleiner, gleich). Ein Knoten ohne linken bzw. rechten Teilbaum heißt „Blatt“ (leaf ).
Der Einfachheit halber gehen wir davon aus, dass Schlüsselwerte ganzzahlig und Zielwerte Zeichenketten
sind.
Implementieren Sie die Klasse Node mit den gegebenen Attributen und drei Methoden: dem Konstruktor,
einer get- und einer insert-Methode.
Dem Konstruktor muss ein Schlüsselwert übergeben werden; die Angabe eines Zielwertes, eines rechten
und linken Knotens ist optional.
Die get-Methode betrachtet den vorliegenden Knoten als Wurzelknoten und sucht zum gegebenen
Schlüsselwert den Knoten mit diesem Schlüsselwert heraus. Sollte kein Knoten mit diesem Schlüsselwert
existieren, wird „nichts“ zurückgegeben – in den meisten Programmiersprachen ist das ein
Null, None oder Nil.
Die insert-Methode fügt, ausgehend vom vorliegenden Knoten, einen Knoten mit dem übergebenen
Schlüsselwert und dem optionalen Zielwert in dem Baum ein. Eine geeignete Einfügestelle muss
dazu gefunden werden. Existiert bereits ein Knoten mit dem Schlüsselwert, so wird der Zielwert
überschrieben.
-----------------------------------------------------------------------------------------------
Bis jetzt habe ich nur das hier geschrieben:
public class Node {
int key;
String value;
Node left,right;
public Node(int key) {
// TODO Auto-generated constructor stub
this.key=key;
}
public Node(int key, String value){
this.key=key;
this.value=value;
}
public Node(int key, String value, Node left, Node right){
this.key=key;
this.value=value;
this.left=left;
this.right=right;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
------------------------------------------------------
es sieht so aus:
Anhänge
Zuletzt bearbeitet: