Zoeken…


Een knooppunt maken in BST

De binaire zoekboom (BST) is een hiërarchische gegevensstructuur met een enkele aanwijzer naar het hoofdknooppunt.

De knoop in de BST bevat over het algemeen "items" (zoals nummers of namen) om snel op te zoeken. Elk knooppunt heeft maximaal twee kinderen (links en rechts). Elk knooppunt is georganiseerd door een belangrijk gegevensveld. Voor elk knooppunt in BST is de sleutel groter dan de sleutel van het linkerkind en minder dan de sleutel van het rechterkind

Een typische knoopstructuur (waarin een geheel getal wordt opgeslagen) zou zijn

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

Er zal slechts één root-knooppunt van BST zijn. Het root-knooppunt kan worden gemaakt door

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

Itemsleutel van root instellen op 10.

root->item = 10;

invoegen van een knooppunt in binaire zoekboom

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow