Vous êtes sur la page 1sur 2

STRUCTURE DE NOEUD

il indique l'ordre de l'arbre. Il est ici exposé à une simplification de la structure de


noeud pour un arbre B-Arbre implémenté en C ++.
struct bnode
{
int nChiavi; // niveau de remplissage de noeud
bnode* RifPagina [2*R+1]; // vecteur de pointeurs vers des nœuds enfants
tipoChiave K [2*R]; // tableau 2 * triée des touches R;
long RifInfo [2*R]; // vecteur de pointeurs vers des informations sur
les fichiers
};

HAUTEUR D'UN B-ARBRE

Si l'on suppose que le nombre de touches d'un b-arbre est égal à et son degré
minimum est , hauteur , dans le pire des cas, sera
En outre, si un b-arbre a une hauteur , il est évident que le nombre de ses noeuds
est minime si la racine contient une clé et tous les autres noeuds contiennent clés: il
y aura, ainsi, noeuds en profondeur 1, noeuds en profondeur 2, en profondeur 3 et
ainsi de suite. fixé la hauteur de l'arbre b-il trouvera qu'il y aura à une profondeur
h les noeuds. Ainsi, le nombre de clés sera
CRÉATION D'UN ARBRE
La création d'un B-arbre (fonctionnement sans clé initialement) ne nécessite que la
création d'un nœud racine.
B-arbre-Créer (T)
alloue un nouveau noeud x
n [x] ← 0
feuille [x] ← TRUE
écrire sur le disque noeud x
racine ← [T] x

OPÉRATIONS DE BASE
les trois choses de base que vous pouvez faire sur un B-arbre sont couverts ci-
dessous ici:
 La recherche d'une clé
 L'insertion d'une clé (nécessite le fonctionnement du fractionnement du nœud)
 Annulation (besoins de fonctionnement de la fusion de noeud)
recherche
La recherche d'un enregistrement de clé k Elle est réalisée d'une manière analogue
à 'arbre binaire, avec la seule différence que, à chaque étape, les choix possibles ne
sont pas deux, mais coïncident avec le nombre de touches de chaque nœud. lieu le
nombre de clés d'un noeud générique du b-arbre, nous aurons qu'à chaque noeud
interne surgira des choix alternatifs.
La recherche d'une clé

La procédure de recherche est divisée en les étapes suivantes:


 Transfert à la mémoire de la racine
 Rechercher K dans la page transférée: Si elle est présente, la recherche est terminée.
 Dans le cas contraire, si K est inférieure à la clé du gauche nœud, puis transférer la page
pointeur pointe de la gauche (voire nulle); si K est supérieur à la clé vers la droite, puis
transférer la page de l'épisode du pointeur extrême droite (voire nulle); si elle est
comprise entre deux touches du noeud transférant ensuite la page pointée par le pointeur
entre les deux touches (si elle est non nulle). Retour au point 2.
 Si le pointeur en question est nulle, la clé est absente.
De cette façon, le nombre maximum de pages à lire pour la recherche coïncide avec
la hauteur de l'arbre.
la procédure B-ARBRE-RECHERCHE (X, K) faire la recherche d'une clé de l'arbre B d'un
noeud .
B-Tree-Recherche (x, k)
i ← 1
alors que je <= n[x] && k > cléla[X]
faire
i ← i + 1
si i <= n[x] && k = keyla[X]
puis
retour (x, i)
si la feuille [x]
puis
retour NIL
d'autre
lois à partir du noeud de disque cla[X]
retour B-Tree-Recherche (cla[X], k)

Vous aimerez peut-être aussi