structures de données ift-2000 abder alikacem semaine 12 (2 ième partie) les b-arbres département...
TRANSCRIPT
![Page 1: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/1.jpg)
Structures de donnéesIFT-2000
Abder AlikacemAbder Alikacem
Semaine 12 (2ième partie)
Les B-arbres
Département d’informatique et de génie logiciel
Édition septembre 2009
! +
![Page 2: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/2.jpg)
Plan
Les arbres BDéfinitionNotions de structures de données externesOpérations d’ajout Opérations d’enlèvement
![Page 3: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/3.jpg)
Retour aux arbres binairesInsertion :
par une feuille feuille après feuille toutes les racines sont fixées trop tôt
![Page 4: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/4.jpg)
Arbres-B
3 6 8 9 12
Idée : avoir un tampon (tableau)
2 types de gestion nœuds plus grands (tableau)
choisir la bonne racine (plus stable)
![Page 5: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/5.jpg)
Arbre-B d’ordre m
définition : la racine a au moins 2 enfants à moins que ce ne soit une
feuille aucun nœud n’a plus de m enfants tous les nœuds, sauf la racine et les feuilles, ont au moins
m/2 enfants toutes les feuilles apparaissent au même niveau tout nœud qui a k enfants a k-1 éléments
3 6 8 10 12p0 p1 p2 p3 p4
e1 e2 e3 e4
![Page 6: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/6.jpg)
8 15
3 6 9 12 16 20
Arbres-B : recherche
p0 si x < e1
pi si ei < x < ei+1
pm-1 si em-1 < x
3 6 8 10 p0 p1 p2 p3 p4
e1 e2 e3 e4
![Page 7: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/7.jpg)
Utilisation d’arbres-B
+ indirection vers les données
10 20
5 7 8 22 24 32 35 3813 15 18 42 45 46
26 27
25
30 40
![Page 8: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/8.jpg)
Arbre-B d’ordre m
Outils pour la gestion d’un fichier binaireNœud typique & en-tête du fichier index (B-arbre)La mécanique de la construction d’un B-ArbreLa procédure de la subdivision d’un nœud
3 6 8 10 p0 p1 p2 p3 p4
e1 e2 e3 e4
![Page 9: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/9.jpg)
struct BTPAGE{
short keycount; /* Le compteur de clefs. Indique quand le noeud est plein.
*/
struct uneCle key [MAXKEYS]; /* Le tableau des clef. */
short CHILD[MAXKEYS+1]; /* Le tableau qui contiendra les fils pointés */
};
Structure typique d’un arbre-B
![Page 10: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/10.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
Ajout dans un arbre-B d’ordre 5
![Page 11: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/11.jpg)
20
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
Ajout dans un arbre-B d’ordre 5
![Page 12: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/12.jpg)
20 40
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
Ajout dans un arbre-B d’ordre 5
![Page 13: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/13.jpg)
10 20 40
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
Ajout dans un arbre-B d’ordre 5
![Page 14: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/14.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30 40
Ajout dans un arbre-B d’ordre 5
![Page 15: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/15.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 15 20 30 40
Ajout dans un arbre-B d’ordre 5
![Page 16: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/16.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 15 20 30 40
Ajout dans un arbre-B d’ordre 5
![Page 17: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/17.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
20
10 15 30 40
Ajout dans un arbre-B d’ordre 5
![Page 18: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/18.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
20
10 15 30 35 40
Ajout dans un arbre-B d’ordre 5
![Page 19: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/19.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
20
7 10 15 30 35 40
Ajout dans un arbre-B d’ordre 5
![Page 20: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/20.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
20
7 10 15 26 30 35 40
Ajout dans un arbre-B d’ordre 5
![Page 21: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/21.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
20
7 10 15 18 26 30 35 40
Ajout dans un arbre-B d’ordre 5
![Page 22: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/22.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
20
7 10 15 18 22 26 30 35 40
Ajout dans un arbre-B d’ordre 5
![Page 23: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/23.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
20
7 10 15 18 22 26 30 35 40
Ajout dans un arbre-B d’ordre 5
![Page 24: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/24.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
20 30
7 10 15 18 35 40 22 26
Ajout dans un arbre-B d’ordre 5
![Page 25: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/25.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
20 30
5 7 10 15 18 35 40 22 26
Ajout dans un arbre-B d’ordre 5
![Page 26: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/26.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
20 30
35 40 5 7 10 15 18 22 26
Ajout dans un arbre-B d’ordre 5
![Page 27: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/27.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30
35 40 5 7 22 26 15 18
Ajout dans un arbre-B d’ordre 5
![Page 28: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/28.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30
35 40 42 5 7 22 26 15 18
Ajout dans un arbre-B d’ordre 5
![Page 29: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/29.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30
35 40 42 5 7 22 26 13 15 18
Ajout dans un arbre-B d’ordre 5
![Page 30: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/30.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30
35 40 42 46 5 7 22 26 13 15 18
Ajout dans un arbre-B d’ordre 5
![Page 31: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/31.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30
35 40 42 46 5 7 22 26 27 13 15 18
Ajout dans un arbre-B d’ordre 5
![Page 32: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/32.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30
35 40 42 46 5 7 8 22 26 27 13 15 18
Ajout dans un arbre-B d’ordre 5
![Page 33: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/33.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30
32 35 40 42 46 5 7 8 22 26 27 13 15 18
Ajout dans un arbre-B d’ordre 5
![Page 34: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/34.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30
32 35 40 42 46 5 7 8 22 26 27 13 15 18
Ajout dans un arbre-B d’ordre 5
![Page 35: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/35.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30 40
32 35 42 46 5 7 8 22 26 27 13 15 18
Ajout dans un arbre-B d’ordre 5
![Page 36: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/36.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30 40
32 35 38 42 46 5 7 8 22 26 27 13 15 18
Ajout dans un arbre-B d’ordre 5
![Page 37: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/37.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30 40
32 35 38 42 46 5 7 8 22 24 26 27 13 15 18
Ajout dans un arbre-B d’ordre 5
![Page 38: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/38.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30 40
32 35 38 42 45 46 5 7 8 22 24 26 27 13 15 18
Ajout dans un arbre-B d’ordre 5
![Page 39: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/39.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30 40
5 7 8 22 24 25 26 27 32 35 3813 15 18 42 45 46
Ajout dans un arbre-B d’ordre 5
![Page 40: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/40.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30 40
5 7 8 22 24 25 26 27 32 35 3813 15 18 42 45 46
Ajout dans un arbre-B d’ordre 5
![Page 41: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/41.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 30 40
5 7 8 22 24 25 26 27 32 35 3813 15 18 42 45 46
Ajout dans un arbre-B d’ordre 5
![Page 42: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/42.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 25 30 40
5 7 8 22 24 32 35 3813 15 18 42 45 46
26 27
Ajout dans un arbre-B d’ordre 5
![Page 43: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/43.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 25 30 40
5 7 8 22 24 32 35 3813 15 18 42 45 46
26 27
Ajout dans un arbre-B d’ordre 5
![Page 44: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/44.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20 25
5 7 8 22 24 32 35 3813 15 18 42 45 46
26 27
30 40
Ajout dans un arbre-B d’ordre 5
![Page 45: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/45.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20
5 7 8 22 24 32 35 3813 15 18 42 45 46
26 27
25
30 40
Ajout dans un arbre-B d’ordre 5
![Page 46: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/46.jpg)
+: 20,40,10,30,15,35,7,26,18,22,5,42,13,46,27,8,32,38,24,45,25
10 20
5 7 8 22 24 32 35 3813 15 18 42 45 46
26 27
25
30 40
Ajout dans un arbre-B d’ordre 5
![Page 47: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/47.jpg)
Arbres-B
Implantation
• Un B-arbre est une structure de données externe.• On parle de fichier index• Il s’agit d’un fichier binaire (ou structuré)
![Page 48: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/48.jpg)
Les fichiers binaires
Principe
- un fichier est une séquence d'octets non interprétés
Interprétation des données binaires
- à la charge du programmeur - une séquence de n octets peut s'interpréter comme: un entier, un tableau, un enregistrement, ... Les outils
• Déclaration d’un pointeur de fichier• Ouverture et fermeture• Les différents modes d’ouverture• Lecture et écriture• Principe du numéro d’ordre relatif (rrn)• Accès direct..
![Page 49: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/49.jpg)
Les fichiers binaires
#include <fstream>#include <iostream>
//3 classes:ifstream: pour lire dans des fichiersofstream: pour écrire dans des fichiersfstream: pour lire et écrire dans des fichiers
fstream f;f.open("toto.txt", ios::binary|ios::in|ios::out);
mode d'ouverture: ios::in // ouverture en lectureios::out // ouverture en écritureios::app // ajout en fin de fichierios::ate // se position à la finios:: binary // mode binaireios::trunc // tronque le fichier à 0
fstream
![Page 50: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/50.jpg)
Accès direct avec fseek..()
f.seekg (rrn*sizeof(Personne), ios_base::beg)
déplacement par rapport à origine
ios_base::begdébut de f
ios_base::curposition courante
Ios_base::endfin de f
struct Personne {
int age; char nom[40];
};
Personne p; fstream f;…
• Ecriture dans le fichier f.open(nomFich, ios::binary|ios::in|ios::out)
f.write (reinterpret_cast<char*>&p, sizeof(Personne));• Lecture du fichier
f.read (reinterpret_cast<char*>&p, sizeof(Personne));
• f.tellg(); //retourne Position courante du pointeur dans le fichier, en nombre d'octets
• Accès direct pour lire ou écrire:
![Page 51: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/51.jpg)
Arbre-B d’ordre m
Exemple et algorithme d’insertion détaillé (B-arbre d’ordre 3)
I, K, A, Z, M, B, W, L, C, J, O
3 6 8 10 p0 p1 p2 p3 p4
e1 e2 e3 e4
![Page 52: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/52.jpg)
struct BTPAGE{
short keycount; /* Le compteur de clefs. Indique quand le noeud est plein.
*/
struct uneCle key [MAXKEYS]; /* Le tableau des clef. */
short CHILD[MAXKEYS+1]; /* Le tableau qui contiendra les fils pointés */
};
Structure typique d’un arbre-B
![Page 53: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/53.jpg)
/* --------------------------------------------------------*//*
**** Driver.cpp ****
Le "pilote" pour la création et la manipulation d’arbres-B.Crée ou ouvre un fichier arbre-B.
Obtient la clef suivante et appelle la fonction insert pour l'insérer dans l'arbre. Au besoin, driver peut créer une nouvelle racine pour l'arbre.*/
Ajout dans un B-arbre
File StructuresMichael J. Folk and all.
![Page 54: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/54.jpg)
Ajout dans un B-arbre
template <typename T>void BTree:: driver(){ ……
/* ouverture du fichier index*/if btOpen() root = getRoot();else { btfd.open("btree.dat", ios::binary|ios::out|
ios::in);key = getClef(); /*première clé*/root = createRoot(key, NIL, NIL);
}
key = getClef(); /*une clé à insérer*/do{ promoted = insert(root, key, &promoRrn, &promoKey); if (promoted) root = bt.createRoot(promoKey, root,
promoRrn);key = getClef();
} while( /*il y a une clé*/ );
}
![Page 55: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/55.jpg)
/* **** insert.cpp ****
Contient la méthode insert() qui insère une clef dans un arbre-B. S'appelle de manière récursive tant que le bas de l'arbre n'est pas atteint. Alors, insert() insère une clef dans une feuille de l ’arbre. Si le noeud est plein,
- appelle split() pour scinder le noeud- promouvoit la clef du milieu et le rrn du nouveau nœudet essaie d’insérer la clé promue lors de ses remontées
d’appel*//*
insert()Arguments:rrn: Le rrn de la page dans laquelle on fait l'insertion*promoRchild: Le fils promu vers le prochain niveaukey: La clef à être insérée*promoKey: La clef promue vers le prochain niveau
*/
![Page 56: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/56.jpg)
bool BTree:: insert (short rrn, T key, short *promoRchild, clef *promoKey){ ….
if (rrn == NIL) { *promoKey = key;
*promoRchild = NIL; return (true);
}btread(rrn, &page);found = searchNode(key, page, &pos);if (found) {
std::cout<<"Erreur: clé dupliquée";return (false);
}promoted = insert(page.child[pos], key, &pBrrn, &pBkey);if (!promoted) return (false); if (page.keycount < MAXKEYS)
{insInPage( pBkey, pBrrn, &page); btWrite(rrn, page); return (false);
}else { split( pBkey, pBrrn, &page, promoKey, promoRchild,
&newPage);btwrite(rrn, page);btwrite(*promoRchild, newPage); return (true);
}}
![Page 57: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/57.jpg)
8 15
3 6 9 12 16 20
Arbres-B : recherche
p0 si x < e1
pi si ei < x < ei+1
pm-1 si em-1 < x
3 6 8 10 p0 p1 p2 p3 p4
e1 e2 e3 e4
![Page 58: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/58.jpg)
/* RRN_FichPrin est le numéro du bloc dans le fichier de données (FichPrin) où se trouve toutes les données de l'enregistrement trouvé. Chaque clé est accompagnée par l'adresse où se trouve la donnée correspondante dans un autre fichier que le fichier index B-Arbre.*/
template <typename T>bool BTree::searchBTree(int rrn, T key, int *trouvRRN, short *trouvPos) { short pos; Bool found; BTPAGE page;
if (rrn == NIL) { return false; } else { btread(rrn,&page); /*lecture d'un noeud (une page) dans le fichier B-Arbre*/ found = searchNode(key, page, &pos); /*recherche dans la page lue */ if (found) { *trouvRRN = page.key[pos].RRN_FichPrin; return true; } else { return(search(page.child[pos],key,trouvRRN,trouvPos)); }
} }
3 6 8 10
![Page 59: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/59.jpg)
Visite d’un arbre-B
visite symétrique du B-arbre pour afficher les clés triées,rrn est l'adresse de la page racine du B-arbre.
Cette fonction retourne un flag pour contrôler son exécutionBTPAGE est la structure typique du B-arbre:
struct BTPAGE {
short keycount;struct uneCle key [MAXKEYS];short CHILD[MAXKEYS+1];
};
![Page 60: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/60.jpg)
template <typename T>int BTree:: visiteSymetriqueB_Arbre(short rrn) {
BTPAGE page;
if (rrn == NIL){
return (-1); //arbre vide}
btRead(rrn, &page);
for(short pos = 0; pos < page.keycount; pos++){
//appel récursif pour chaque sous-arbresvisiteSymetriqueB_Arbre(page.child[pos]);cout << page.key[pos].nom;
}
//dernier appel récursif pour le sous-arbrequi se trouve à droite de la dernière clé
visiteSymetriqueB_Arbre(page.child[pos]);
return 0;}
![Page 61: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/61.jpg)
Enlèvement dans un arbre-B
-: 25,24,22,20
10 20
5 7 8 22 24 32 35 3813 15 18 42 45 46
26 27
25
30 40
![Page 62: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/62.jpg)
-: 25,24,22,20
10 20
5 7 8 22 24 32 35 3813 15 18 42 45 46
26 27
25
30 40
x
Enlèvement dans un arbre-B
![Page 63: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/63.jpg)
-: 25,24,22,20
10 20
5 7 8 22 24 32 35 3813 15 18 42 45 46
26 27
25
30 40
x
Enlèvement dans un arbre-B
![Page 64: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/64.jpg)
-: 25,24,22,20
10 20
5 7 8 22 32 35 3813 15 18 42 45 46
26 27
24
30 40
Enlèvement dans un arbre-B
![Page 65: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/65.jpg)
-: 25,24,22,20
10 20
5 7 8 22 32 35 3813 15 18 42 45 46
26 27
24
30 40
Enlèvement dans un arbre-B
![Page 66: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/66.jpg)
Enlèvement dans un arbre-B
-: 25,24,22,20
10 20
5 7 8 22 32 35 3813 15 18 42 45 46
26 27
24
30 40
x
![Page 67: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/67.jpg)
Enlèvement dans un arbre-B
-: 25,24,22,20
10 20
5 7 8 22 32 35 3813 15 18 42 45 46
26 27
24
30 40
x
![Page 68: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/68.jpg)
-: 25,24,22,20
10 20
5 7 8 32 35 3813 15 18 42 45 46
26 27
22
30 40
Enlèvement dans un arbre-B
![Page 69: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/69.jpg)
-: 25,24,22,20
10 20
5 7 8 32 35 3813 15 18 42 45 46
26 27
22
30 40
Enlèvement dans un arbre-B
![Page 70: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/70.jpg)
Enlèvement dans un arbre-B
-: 25,24,22,20
10 18
5 7 8 32 35 3813 15 42 45 46
26 27
22
30 40
20
![Page 71: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/71.jpg)
Enlèvement dans un arbre-B
-: 25,24,22,20
10 18
5 7 8 32 35 3813 15 42 45 46
26 27
22
30 40
20
x
![Page 72: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/72.jpg)
-: 25,24,22,20
10 18
5 7 8 32 35 3813 15 42 45 46
26 27
22
30 40
20
x
Enlèvement dans un arbre-B
![Page 73: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/73.jpg)
Enlèvement dans un arbre-B
-: 25,24,22,20
10 18
5 7 8 32 35 3813 15 42 45 46
26 27
20
30 40
![Page 74: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/74.jpg)
-: 25,24,22,20
10 18
5 7 8 32 35 3813 15 42 45 46
26 27
20
30 40
Enlèvement dans un arbre-B
![Page 75: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/75.jpg)
18
-: 25,24,22,20
10 15
5 7 8 32 35 3813 42 45 46
26 27
20
30 40
Enlèvement dans un arbre-B
![Page 76: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/76.jpg)
18
-: 25,24,22,20
10 15
5 7 8 32 35 3813 42 45 46
26 27
20
30 40
x
Enlèvement dans un arbre-B
![Page 77: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/77.jpg)
18
-: 25,24,22,20
10 15
5 7 8 32 35 3813 42 45 46
26 27
20
30 40
x
Enlèvement dans un arbre-B
![Page 78: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/78.jpg)
-: 25,24,22,20
10 15
5 7 8 32 35 3813 42 45 46
26 27
18
30 40
Enlèvement dans un arbre-B
![Page 79: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/79.jpg)
Enlèvement dans un arbre-B
-: 25,24,22,20
10 15
5 7 8 32 35 3813 42 45 46
26 27
18
30 40
![Page 80: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/80.jpg)
Enlèvement dans un arbre-B
-: 25,24,22,20
10
5 7 8 32 35 3813 15 42 45 46
26 27
18
30 40
![Page 81: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/81.jpg)
-: 25,24,22,20
10
5 7 8 32 35 3813 15 42 45 46
26 27
18
30 40
Enlèvement dans un arbre-B
![Page 82: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/82.jpg)
-: 25,24,22,20
10
5 7 8 32 35 3813 15 42 45 46
26 27
18
30 40
Enlèvement dans un arbre-B
![Page 83: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/83.jpg)
-: 25,24,22,20
10 18
5 7 8 32 35 3813 15 42 45 46
26 27
30 40
Enlèvement dans un arbre-B
![Page 84: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/84.jpg)
-: 25,24,22,20
10 18
5 7 8 32 35 3813 15 42 45 46
26 27
30 40 +
Enlèvement dans un arbre-B
![Page 85: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/85.jpg)
-: 25,24,22,20
10 18 30 40
5 7 8 32 35 3813 15 42 45 46
26 27
Enlèvement dans un arbre-B
![Page 86: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/86.jpg)
1. Si la clé à supprimer ne se trouve pas dans une feuille, la remplacer par son prédécesseur ou successeur se trouvant dans une feuille.
2. Supprimer la clé. 3. Si la feuille a le nombre requis de clés, ne rien faire.4. Si la feuille contient moins de clés que requis, regarder à sa droite et à sa gauche
pour trouver la cible.1. Si la cible a le nombre requis de clés, redistribution2. Si la cible n’a pas le nombre requis de clés, concaténation
5. Si la feuille a subi la concaténation, appliquer 3. à 6. au père de cette feuille.6. Si la dernière clé de la racine a été déplacée, mettez à jour la racine.
Algorithme
Enlèvement dans un arbre-B
![Page 87: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/87.jpg)
Utilisation d’arbres-B
• + indirection vers les données
10 20
5 7 8 22 24 32 35 3813 15 18 42 45 46
26 27
25
30 40
![Page 88: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/88.jpg)
Arbres-B d’ordre m
Désavantages :• gestion plus complexe
• 2 types de structures à gérer pour chaque opération• espace perdu
• les nœuds (tableaux) contiennent de l’espace inutilisé• quel impact a le choix de m :
• sur le temps de recherche d’une information ?• sur le temps d’ajout d’une information ?• sur le temps de traitement d’intervalles ?
• comment choisir m ?
![Page 89: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/89.jpg)
Arbres-B d’ordre m
Désavantages :• gestion plus complexe
• 2 types de structures à gérer pour chaque opération• espace perdu
• les nœuds (tableaux) contiennent de l’espace inutilisé• quel impact a le choix de m :
• sur le temps de recherche d’une information ?• sur le temps d’ajout d’une information ?• sur le temps de traitement d’intervalles ?
• comment choisir m ?• souvent selon la taille des secteurs disque• selon les caractéristiques et besoins de l’application
![Page 90: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/90.jpg)
Les arbres-B+
Définitions:• c ’est un B-arbre• + duplications des clés• + chaînage de toutes les feuilles
![Page 91: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/91.jpg)
Insérer 65
65
Exemple
Construction d’un arbre-B+
![Page 92: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/92.jpg)
Insérer 25
25 65
![Page 93: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/93.jpg)
Insérer 50
25 50 65
![Page 94: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/94.jpg)
Insérer 30
25 30 50 65
![Page 95: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/95.jpg)
Insérer 85
85
85
25 30 50 65
25 30 50 65
50
25 30 50 65 85
![Page 96: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/96.jpg)
Insérer 75
50
25 30 50 65 75 85
![Page 97: Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dd2497959293b8e547d/html5/thumbnails/97.jpg)
Insérer 80 50
25 30 50 65 7585
80
50
25 30 50 65 75 80 85
50
25 30 50 65 75 80 85
50 75
25 30 50 65 75 80 85