Gestion de Fichiers
Arbres B
2
Plan du cours sur les arbres B
Description générale et exemple
Recherche dans un arbre B
Insertion dans un arbre B
Quelques considérations formelles sur les arbres B
Effacement dans les arbres B
Meilleure utilisation du stockage redistribution
pendant l’insertion et division 2-3 arbres B*
Garder les pages en mémoire tampon arbres B
virtuels
Arbres B à enregistrements et clés à longueur variable.
3
Arbres B: description générale
Les arbres B sont construits de bas en haut plutôt
que de haut en bas. De cette manière, ils permettent
de résoudre le problème des arbres paginés: avec les
arbres B, on permet à la racine d’émerger plutot que
d’avoir à la choisir sans avoir vu toutes les données
et essayer de la changer si elle n’est pas optimale.
Les arbres B sont aussi des indexes à niveaux
multiples, mais ils résolvent le problème de
l’insertion et l’effacement à coût linéaire.
Les arbres B sont, maintenant, la manière
standard de representer les indexes.
4
Exemple d’un arbre B
P W
D M P T W
AB C D
GI M
N P UW
R S T
Note:
les références à l’enregistrement n’apparaissent
que dans les feuilles de l’arbre. Les noeuds internes ne
sont que des indexes de niveau supérieur (ce qui
explique les répétitions dans l’arbre).
5
Fonctionnement des arbres B:
idées principales
Chacun des noeuds d’un arbre B est un
enregistrement
d’indexe
. Chacun de ces enregistrements a le même
nombre
maximum
de paires de clé/référence. Ce
nombre s’appelle l’
ordre
de l’arbre B. Ces
enregistrements ont aussi un nombre
minimum
de
paires de clé/référence qui est, typiquement, la moitié de
l’ordre.
Lorsque l’on ajoute une nouvelle clé dans un noeud qui
n’est pas plein, on doit simplement mettre ce noeud à
jour et, peut-être, mettre à jour les noeuds supérieurs
récursivement.
Si, par contre, on ajoute une nouvelle clé dans un noeud
déjà plein, ce noeud est divisé en deux nouveaux
noeuds, chacun contenant la moitié des clés du noeud
originel. La clé à la valeur la plus élevée dans le noeud
originel est promue au noeud supérieur. Ceci peut
provoquer une nouvelle division (réaction en chaine).
1 / 19 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !