Szukaj…


Tworzenie węzła w BST

Drzewo wyszukiwania binarnego (BST) to hierarchiczna struktura danych z pojedynczym wskaźnikiem do węzła głównego.

Węzeł w BST zazwyczaj zawiera „elementy” (takie jak liczby lub nazwiska) do szybkiego wyszukiwania. Każdy węzeł ma najwyżej dwoje dzieci (lewy i prawy). Każdy węzeł jest uporządkowany według niektórych kluczowych pól danych. Dla każdego węzła w BST jego klucz jest większy niż lewy klucz dziecka i mniej niż prawy klucz dziecka

Typowa struktura węzła (która przechowuje liczbę całkowitą) byłaby

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

Będzie tylko jeden węzeł główny BST. Węzeł główny można utworzyć za pomocą

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

Aby ustawić klucz pozycji root na 10.

root->item = 10;

wstawienie węzła do drzewa wyszukiwania binarnego

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow