TD1 Fichier
TD1 Fichier
TD1 Fichier
TD 1 : Organisation de fichiers
Fichier Indexé par Arbre_B / Fichier haché
Sur-occupation d’un nœud : Lorsqu’un nœud quelconque est saturé (k>2m), sa clé du milieu
remonte au niveau du nœud parent. Le nœud saturé éclate en deux, ce qui a pour conséquence
la création d’un nouveau pointeur dans le nœud parent et d’un nouveau frère.
Sous-occupation d’un nœud : Lorsqu’un nœud (autre que la racine) est sous-occupé (k<m), il
fusionne avec son frère droit (ou gauche si ce dernier n’existe pas). La clé du nœud parent qui
était entre les deux pointeurs des nœuds fusionnés descend dans le nouveau nœud.
Suppression d’une clé dans un nœud non feuille : Une clé dans un nœud non feuille est
remplacée par la plus grande valeur de clé du sous arbre gauche.
Exercice 1
A partir de l’index par arbre_B d’ordre 2 dessiné ci-dessous, vous devez montrer l’évolution de
l’arbre après chacune des modifications suivantes. A chaque étape vous devez dessiner le
résultat obtenu.
a) ajout de la valeur de clé 16 dans l’index
b) ajout de la valeur de clé 19 dans l’index
c) suppression de la valeur de clé 8 dans l’index
d) suppression de la valeur de clé 24 dans l’index
5 10 15 24
1 3 4 7 8 11 12 13 17 18 20 25 29
Exercice 2
E = { 18 , 8 , 14 , 23 , 13 , 6 , 24 , 1 , 27 , 21 , 10 }
A chaque étape d’insertion, vous devez redessiner l'arborescence obtenue et expliquer la politique
de rafraîchissement employée.
D P
B F M O T W
Attention : Les questions suivantes sont indépendantes les unes des autres. Lorsque plusieurs
solutions sont possibles, présentez-les toutes.
Exercice 4
Mise en œuvre d'un hachage extensible avec un fichier dont les enregistrements possèdent les
valeurs de clé suivantes :
Exercice 5
Soit un fichier haché utilisant une structure de hachage extensible avec h(x) = x mod 4
b) On suppose que la taille des blocs est limitée à 2 enregistrements et que les enregistrements
sont stockés successivement dans le fichier dans l'ordre suivant de leurs valeurs de clés :