Java Binärer Suchbaum

Diskutiere Java Binärer Suchbaum im Java Basics - Anfänger-Themen Bereich.
G

Gansa

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);
        }
    }
}
 
J

JustNobody

Dein Binärer Suchbaum hat einen key, nach dem er sortiert ist und du scheinst generell key/value Paare zu speichern. Der Wert ist sozusagen nur die Nutzlast, die mit gespeichert wird, aber die egal ist.

Und nach key wird halt sortiert.

In den meisten Beispiel-Implementation wird wert einfach weggelassen. Das ist hier einfach nur "Ballast".

In realen Implementationen hat man natürlich da nicht sowas mit Integern. Da speicherst du dann einen generischen Typ und der Typ muss Comparable implementieren oder man verlangt halt noch eine compare Implementation, die mitgegeben wird.
 
Thema: 

Java Binärer Suchbaum

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben