Buscar..


Creando un nodo en BST

El árbol de búsqueda binaria (BST) es una estructura de datos jerárquica con un solo puntero al nodo raíz.

El Nodo en el BST generalmente contiene "elementos" (como números o nombres) para una búsqueda rápida. Cada nodo tiene a lo sumo dos hijos (izquierdo y derecho). Cada nodo está organizado por algún campo de datos clave. Para cada nodo en BST, su clave es mayor que la clave izquierda del niño y menor que la clave derecha del niño

Una estructura típica de nodo (que almacena un número entero) sería

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

Solo habrá un nodo raíz de BST. El nodo raíz puede ser creado por

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

Para establecer la clave del elemento de la raíz a 10.

root->item = 10;

insertando un nodo en el árbol de búsqueda binario

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow