data-structures
Albero di ricerca binario
Ricerca…
Creazione di un nodo in BST
L'albero di ricerca binario (BST) è una struttura gerarchica di dati con un singolo puntatore al nodo radice.
Il Nodo nel BST generalmente contiene "voci" (come numeri o nomi) per una rapida ricerca. Ogni nodo ha al massimo due bambini (sinistro e destro). Ogni nodo è organizzato da un campo di dati chiave. Per ogni nodo in BST, la sua chiave è maggiore della chiave secondaria sinistra e della chiave secondaria destra
Una tipica struttura di nodo (che memorizza un intero) sarebbe
struct bst_node {
int item;
bst_node* left;
bst_node* right;
};
Ci sarà un solo nodo radice di BST. Il nodo radice può essere creato da
bst_node* root = NULL;
root = (bst_node*) malloc(sizeof(bst_node));
Per impostare la chiave dell'articolo di root su 10.
root->item = 10;
inserimento di un nodo nell'albero di ricerca 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow