Solutions aux exercices du chapitre 3
1) Dessinez le résultat de chacune des opérations suivantes sur l'arbre- B+ de la figure suivante (prises individuellement et non pas en séquence) :
10 Bloc 0
20
25 40 45
Bloc 2
25 Bloc 3
30 40
Bloc 1
43 44 60
Bloc 4 70 50
Bloc 5
53 55
60 Bloc 6 50
Bloc 7
45 48
Bloc 8
a) insérer 23
10 Bloc 0
20 23
25 40 45
Bloc 2
25 Bloc 3
30 40
Bloc 1
43 44 60
Bloc 4 70 50
Bloc 5
53 55
60 Bloc 6 50
Bloc 7
45 48
Bloc 8
b) insérer 65
10 Bloc 0
20
25 40 45
Bloc 2
25 Bloc 3
30 40
Bloc 1
43 44 60
Bloc 4
65 70
50 Bloc 5
53 55
60 Bloc 6 50
Bloc 7
45 48
Bloc 8
c) insérer 52
10 Bloc 0
20
25 40 45
Bloc 2
25 Bloc 3
30 40
Bloc 1
43 44 60
Bloc 4
65 70
50 Bloc 5
52
53 60
Bloc 6 50
Bloc 7
45 48
Bloc 8
53 Bloc 9
55
d) insérer 42
10 Bloc 0
20
25 40
Bloc 2
25 Bloc 3
30 40
Bloc 1
42 60
Bloc 4 70 50
Bloc 5
53 55
60 Bloc 6
43 50
Bloc 7
45 48
Bloc 8 43
Bloc 9 44 45 Bloc 10
e) supprimer 44
10 Bloc 0
20
25 40 45
Bloc 2
25 Bloc 3
30 40
Bloc 1
43 60
Bloc 4 70 50
Bloc 5
53 55
60 Bloc 6 50
Bloc 7
45 48
Bloc 8
f) supprimer 40
10 Bloc 0
20
25 43 45
Bloc 2
25 Bloc 3
30 43
Bloc 1
44 60
Bloc 4 70 50
Bloc 5
53 55
60 Bloc 6 50
Bloc 7
45 48
Bloc 8
g) supprimer 70
10 Bloc 0
20
25 40 45
Bloc 2
25 Bloc 3
30 40
Bloc 1
43 44 55
Bloc 4 60 50
Bloc 5 53
55 Bloc 6 50
Bloc 7
45 48
Bloc 8
h) supprimer 60
10 Bloc 0
20
25 40 45
Bloc 2
25 Bloc 3
30 40
Bloc 1
43 44 55
Bloc 4 70 50
Bloc 5 53
55 Bloc 6 50
Bloc 7
45 48
Bloc 8
i) supprimer 60 et 70
Fusion des blocs 4 et 5. Redistribution au niveau 2 pour les blocs 2 et 6.
10 Bloc 0
20
25 40
Bloc 2
25 Bloc 3
30 40
Bloc 1
43 44 50
Bloc 5
53 55
50 Bloc 6 45
Bloc 7
45 48
Bloc 8
2) Quelle est la hauteur maximale d'un arbre-B+ contenant 1000000 d'enregistrements en supposant que le facteur de blocage maximal au niveau des feuilles est 20 et que l'ordre de l'arbre est 100.
H 2 + log OrdreI /2 (N /(2*FBMf/2))
H 2 + log 100/2 (1000000 /(2*20/2)) = 2 + log 50 (50000) = 4.77 3) * Faites le pseudo-code d'un itérateur pour sélection par intervalle
dans un arbre-B+.
4) Dessinez le résultat de chacune des opérations suivantes (prises individuellement et non pas en séquence) sur l'organisation par hachage statique avec résolution des collisions par chaînage de la figure suivante :
60 Erable argenté 15.99
90 Pommier 25.99
81 Catalpa 25.99
70 Herbe à puce 10.99
40 Epinette bleue 25.99
10 Cèdre en boule 10.99
43 Magnolia 28.99
20 Sapin 12.99
50 Chêne 22.99
95 Génévrier 15.99
80 Poirier 26.99
0
1
2
52 Pin 18.99
a) Insérer 66
60 Erable argenté 15.99
90 Pommier 25.99
81 Catalpa 25.99
66 ? ?
70 Herbe à puce 10.99
40 Epinette bleue 25.99
10 Cèdre en boule 10.99
43 Magnolia 28.99
20 Sapin 12.99
50 Chêne 22.99
95 Génévrier 15.99
80 Poirier 26.99
0
1
2
52 Pin 18.99
b) Insérer 16
60 Erable argenté 15.99
90 Pommier 25.99
81 Catalpa 25.99
70 Herbe à puce 10.99
40 Epinette bleue 25.99
10 Cèdre en boule 10.99
43 Magnolia 28.99
20 Sapin 12.99
50 Chêne 22.99
95 Génévrier 15.99
80 Poirier 26.99
0
1
2
52 Pin 18.99
16 ??? ???
c) Insérer 53
60 Erable argenté 15.99
90 Pommier 25.99
81 Catalpa 25.99
70 Herbe à puce 10.99
40 Epinette bleue 25.99
10 Cèdre en boule 10.99
43 Magnolia 28.99
20 Sapin 12.99
50 Chêne 22.99
95 Génévrier 15.99
80 Poirier 26.99
0
1
2
52 Pin 18.99
53 ??? ?
5) Peut-on mettre en même temps une organisation par hachage sur le noArticle et une organisation par arbre-B+ primaire sur la description pour le type d'enregistrement plantCatalogue ? Expliquez.
Ceci est impossible parce que ce sont deux organisations primaires différentes à moins de dupliquer les enregistrements dans les deux organisations primaires.
6) Quels sont les avantages et inconvénients du hachage statique par rapport à l'arbre-B+ primaire.
7) Dessinez le résultat de chacune des opérations suivantes sur l'organisation par hachage linéaire de la figure suivante (prises individuellement et non pas en séquence) en supposant que la fonction de hachage est h(clé) = clé MOD 32 :
10100 2 11101 2
00001 2
11010 2 01111 2
11011 2
00 2 01 2 10 2 11 2
p a) Insérer 22
10110 2
10100 2 11101 2
00001 2
11010 2 01111 2
11011 2
00 2 01 2 10 2 11 2
p b) Insérer 51
11101 2
00001 2
11010 2 01111 2
11011 2
000 2 01 2 10 2 11 2
p
10011 2
10100 2
Zone primaire Zone d'expansion
100 2
Division du bloc 00 2 ( p = 00 2)
8) Dessinez le résultat de chacune des opérations suivantes sur l'organisation par hachage linéaire de la figure suivante (prises individuellement et non pas en séquence) en supposant que la fonction de hachage est h(clé) = clé MOD 32 :
11000 2 00001 2
11001 2
11010 2
10010 2
01111 2
11011 2
000 2 001 2 010 2 11 2
p
10111 2
10100 2
Zone primaire Zone d'expansion
100 2
10101 2
11101 2
101 2
10110 2
110 2
a) Insérer 60
11100 2
11000 2 00001 2
11001 2
11010 2
10010 2
01111 2
11011 2
000 2 001 2 010 2 11 2
p
10111 2
10100 2
Zone primaire Zone d'expansion
100 2
10101 2
11101 2
101 2
10110 2
110 2
b) Insérer 73
11000 2 00001 2
11001 2
11010 2
10010 2
11011 2
000 2 001 2 010 2 011 2
p
10100 2
Zone primaire
100 2
Division du bloc 11 2
10101 2
11101 2
101 2
10110 2
110 2
01111 2
10111 2
111 2
01001 2
9) Dessinez le résultat de chacune des opérations suivantes sur l'organisation par hachage extensible de la figure suivante (prises individuellement et non pas en séquence) en supposant que la fonction de hachage est h(clé) = clé MOD 32 :
10100 2
11000 2
Bloc 0
2 10001 2
11011 2
Bloc 1
1 01010 2
01110 2
Bloc 2 2 2
00 2 01 2 10 2 11 2
Profondeur globale du répertoire (d)
Profondeur locale du bloc
a) Insérer 23
10111 2
10100 2
11000 2
Bloc 0
2 10001 2
Bloc 1
2 01010 2
01110 2
Bloc 2 2 2
00 2 01 2 10 2 11 2
Profondeur globale du répertoire (d)
Profondeur locale du
bloc 11011 2
Bloc 3 2
b) Insérer 16
10000 2
11000 2
Bloc 0
3 10001 2
11011 2
Bloc 1
1 01010 2
Bloc 2
2 01110 2
3
000 2 001 2 010 2 011 2 100 2 101 2 110 2 111 2
10100 2
Bloc 3 3