Mein Ziel ist es eine Insert Methode zu schreiben, die Sicherstellt, dass größere Werte immer weiter nach unten geschoben werden. Die root des baumes soll also am ende der kleinste Wert sein und alle nodes darunter halt immer größer. Das hier ist mein kläglicher erster Ansatz aber ich glaube das macht wirklich gar keinen Sinn. Kann mir jemand einen geigneteren Ansatz erläutern? Würde mir wirklich sehr weiterhelfen!



public void insert(T value){
    if(root==null){
        this.root = new BTreeNode(value);
        return;
    }

    insert(root,value);
}

public void insert(BTreeNode node, T value){
    if(node.prev.value.doubleValue() <= node.value.doubleValue()) {
        double z = Math.random() * 2;
        if (z > 1) {
            if (node.left == null) {
                node.left = new BTreeNode(value);
                node.prev = node.left;
                return;
            } else {
                node.prev = node.left;
                insert(node.left, value);
            }

        } else if (z < 1) {
            if (node.right == null) {
                node.right = new BTreeNode(value);
                node.prev = node.right;
                return;
            } else {
                node.prev = node.right;
                insert(node.right, value);
            }

        } else {
            return;
        }
    }else{
        BTreeNode temp = node;
        node = node.prev;
        node.prev = temp;
    }
}