Suche…


Erstellen eines Knotens in BST

Der Binary Search Tree (BST) ist eine hierarchische Datenstruktur mit einem einzigen Zeiger auf den Stammknoten.

Der Knoten in der BST enthält im Allgemeinen "Elemente" (z. B. Zahlen oder Namen) zum schnellen Nachschlagen. Jeder Knoten hat höchstens zwei Kinder (links und rechts). Jeder Knoten ist nach einem Schlüsseldatenfeld organisiert. Für jeden Knoten in BST ist der Schlüssel größer als der Schlüssel des linken Kindes und kleiner als der Schlüssel des rechten Kindes

Eine typische Struktur eines Knotens (der eine Ganzzahl speichert) wäre

struct bst_node {
    int item; 
    bst_node* left;
    bst_node* right;
}; 

Es wird nur einen Wurzelknoten von BST geben. Der Wurzelknoten kann mit erstellt werden

bst_node* root = NULL;
root = (bst_node*) malloc(sizeof(bst_node));

Um den Elementschlüssel von root auf 10 zu setzen.

root->item = 10;

Einfügen eines Knotens in den binären Suchbaum

struct tree{
    int a;
    tree* right;
    tree* left;
};
tree* root=NULL;
void insert(tree*& in, int b){
        if(in){
            if(in->a<b)
                    insert(in->right,b);
            else if(in->a>b)
                    insert(in->left,b);
            else
                cout<<"the value is already in the tree."<<endl;
        }else{
            tree* temp = new tree;
            temp->a=b;
            temp->right=NULL;
            temp->left=NULL;
            in=temp;
        }
}


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow