data-structures
Árbol de búsqueda binaria
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