data-structures
Arbre de recherche binaire
Recherche…
Créer un nœud dans BST
L'arbre de recherche binaire (BST) est une structure de données hiérarchique avec un seul pointeur vers le nœud racine.
Le nœud dans le fichier BST contient généralement des "éléments" (tels que des nombres ou des noms) pour une recherche rapide. Chaque nœud a au plus deux enfants (gauche et droite). Chaque nœud est organisé par un champ de données clé. Pour chaque nœud dans BST, sa clé est plus grande que la clé de l'enfant gauche et moins que la clé de l'enfant droit
Une structure typique de noeud (qui stocke un entier) serait
struct bst_node {
int item;
bst_node* left;
bst_node* right;
};
Il n'y aura qu'un seul nœud racine de BST. Le noeud racine peut être créé par
bst_node* root = NULL;
root = (bst_node*) malloc(sizeof(bst_node));
Pour définir la clé d’élément de la racine sur 10.
root->item = 10;
insertion d'un noeud dans l'arbre de recherche binaire
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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow