TD1 Fichier

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 2

Conception et utilisation de Base de Données Polytech Tours Informatique

TD 1 : Organisation de fichiers
Fichier Indexé par Arbre_B / Fichier haché

Partie 1 : Fichier Indexé par Arbre_B

Rappel des règles de rafraîchissement d’un arbre_B d’ordre m :

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

1) Construire un arbre_B d’ordre 2 pour stocker les valeurs de clés de l’ensemble E.


Vous insérerez les clés en suivant l'ordre de l’énoncé.

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.

2) Pour aller plus loin ...


A partir de l’arbre obtenu à la question précédente, monter l’évolution de l'arbre suite à chacune
des opérations suivantes :

a) insertion de la valeur de clé 25


b) suppression de la valeur de clé 13
c) suppression de la valeur de clé 21
d) suppression de la valeur de clé 8
e) suppression de la valeur de clé 14
Exercice 3

Soit le B_arbre d’ordre 1 : L

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.

1. Dessinez l’arbre obtenu après avoir ajouté la clé H à l’arbre initial.


2. Dessinez l’arbre obtenu après avoir supprimé la valeur de clé F à l’arbre initial.
3. Dessinez l’arbre obtenu après avoir ajouté la valeur de clé X à l’arbre initial.
4. Dessinez l’arbre obtenu après avoir supprimé la valeur de clé L à l’arbre initial.

Partie 2 : Fichier haché

Exercice 4

Mise en œuvre d'un hachage extensible avec un fichier dont les enregistrements possèdent les
valeurs de clé suivantes :

Enregistrements = {2, 3, 5, 7, 11, 17, 19, 23, 29, 31}

On choisit de faire un hachage extensible avec la fonction de hachage : h(x) = x mod 8

La capacité maximum de stockage d’un bloc sera de 3 enregistrements.

a) Quel est le nombre maximum de blocs adressables ?


b) Quel est le catalogue associé au hachage ?
c) Dessiner pas à pas le contenu des blocs de données après l'insertion successive des
enregistrements,
b) Comment évolue ensuite le fichier obtenu après chacune des actions suivantes :
. suppression de l’enregistrement 11
. suppression de l’enregistrement 31
. insertion de l’enregistrement 1
. insertion de l’enregistrement 15

Exercice 5

Soit un fichier haché utilisant une structure de hachage extensible avec h(x) = x mod 4

a) quel est le nombre maximum de blocs adressables ?

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 :

18, 8, 14, 23, 13, 6, 24, 1, 27, 21.

Pour quelle insertion de clé rencontrez-vous un problème ?

c) Si maintenant la taille permet de stocker 4 enregistrements, présenter graphiquement le


résultat de l'insertion des enregistrements, en suivant l’ordre d’insertion de la question
précédente.

Vous aimerez peut-être aussi