Guten Morgen! Ich habe hier einen Suchbaum in Java nach Anleitung implementiert und kann alles sehr gut nachvollziehen BIS auf die Variable wert. Ich verstehe nicht weshalb ich im Konstruktor diese Variable mitfliege und es beim erstellen meines BST mitgeben muss, denn es VERÄNDERT rein gar nichts ob ich es mitgebe oder nicht, ich habe schon geschaut was passiert wenn key denselben wert hat wie ein anderer, und es passiert nichts.. Vielleicht habe ich das Konzept nicht verstanden oder ich habe es nicht richtig implementiert keine Ahnung .. Aber ich wüsste wirklich gerne wieso ich im Konstruktor einen key und einen wert brauche. Was ist der Sinn dabei? Alle anderen Codes im Internet sind ohne keys bzw übergeben nur einen Wert mit. Ich kopiere mein Code mal rein:
Java:
public class Appli {
public static void main(String[] args) {
BST tree = new BST();
/* Let us create following BST
tree.put(0,1);
tree.put(8,2);
tree.put(15,3);
tree.put(0,1);
tree.put(42,5);
tree.put(7,6);
// print inorder traversal of the BST
tree.inorder();
}
}
Java:
public class BST {
Node root;
public void put(Integer key, Integer wert){
root = put(root,key,wert);
}
public Node put(Node x, Integer key,Integer wert) {
if (x == null) {
return root = new Node(key,wert);
}
if (key < x.key) {
x.left = put(x.left, key,wert);
} else if (key > x.key) {
x.right = put(x.right, key,wert);
} else if(key == x.key){
x.wert = wert;
}
return x;
}
public void inorder() {
inorderRec(root);
}
// Durchlaufen des BST
void inorderRec(Node root) {
if (root != null) {
inorderRec(root.left);
System.out.println(root.key);
inorderRec(root.right);
}
}
}