Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email:...
Transcript of Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email:...
![Page 1: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/1.jpg)
Pr ZEGOUR DJAMEL EDDINEEcole Supérieure d’Informatique (ESI)
www.zegour.uuuq.com email: [email protected]
![Page 2: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/2.jpg)
B-arbres
Introduction aux B-arbres
Problème avec les ARM: comment garder l'arbre paginé équilibré?
Si l'ensemble des clés est connu à l'avance c'est simple.
Si les clés arrivent de façon aléatoire, impossible de garder l‘ARM équilibré
![Page 3: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/3.jpg)
Exemple : insertion dans un ARM d’ordre 4;
Séquence à insérer :
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
B-arbres
Introduction aux B-arbres
Revient à insérer un ensemble de clés dans un arbre AVL paginé :
![Page 4: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/4.jpg)
Définition
Technique plus complexe mais garantit l'équilibrage de l'arbre (donc recherche plus rapide)
En plus, chaque nœud de l'arbre(sauf la racine) est au moins rempli à moitié (donc peu d'espace perdu).
===> reste encore très utilisée dans les systèmes de fichier actuels.
B-arbres
![Page 5: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/5.jpg)
B-arbres
Définition
Un arbre B d'ordre n est tel que : la racine a au moins 2 fils chaque nœud, autre que la racine, a entre n/2 et n fils tous les nœuds feuilles sont au même niveau
Remarque : B pour Bayer / Boeing / Balanced
![Page 6: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/6.jpg)
B-arbresIllustration du mécanisme d'insertion (ordre = 3)
75
Construction Bottum-up ( équilibrage garanti )
Les éclatements peuvent être en cascade.
![Page 7: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/7.jpg)
B-arbres
55
Illustration du mécanisme d'insertion (ordre = 3)
![Page 8: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/8.jpg)
B-arbres
57
Illustration du mécanisme d'insertion (ordre = 3)
![Page 9: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/9.jpg)
B-arbres
95
Illustration du mécanisme d'insertion (ordre = 3)
![Page 10: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/10.jpg)
Illustration du mécanisme d'insertion (ordre = 3)
B-arbres
85
![Page 11: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/11.jpg)
Illustration du mécanisme d'insertion (ordre = 3)
B-arbres
87
![Page 12: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/12.jpg)
Suppression dans un arbre B
Même principe que la suppression physique dans un ARM
En plus, si le nœud feuille qui contenait le successeur a moins de (n div 2) clés diverses actions seront entreprises.
B-arbres
![Page 13: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/13.jpg)
B-arbres
Suppression dans un arbre B
Examiner les frères à droite et à gauche.
Si l'un des frères(gauche ou droit) contient plus de n div 2 clés, EMPRUNT
Ordre=5; Max=4 données; Min = 2 données
113
![Page 14: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/14.jpg)
B-arbres
Suppression dans un arbre B
Si les deux frères contiennent exactement n div 2 clés, FUSION
Ordre=5; Max=4 données; Min = 2 données
120
![Page 15: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/15.jpg)
B-arbres
Suppression dans un arbre B
Cas où le père contient seulement n div 2 clés et par conséquent il n'a pas de clé à donner. il peut emprunter de son père et frère.
Ordre=5; Max=4 données; Min = 2 données
65
![Page 16: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/16.jpg)
Suppression dans un arbre B
Les frères du père n'ont pas de clés à donner, le père et son frère peuvent aussi être concaténés et une clé est prise du grand père
B-arbres
Ordre=5; Max=4 données; Min = 2 données
173
![Page 17: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/17.jpg)
B-arbres
Suppression dans un arbre B
Si tous les antécédents d'un nœud et leurs frères contiennent exactement n div 2 clés, une clé sera prise de la racine (due aux concaténations en cascades).
Si la racine avait plus d'une clé, ceci termine le processus.
Si la racine contenait une seule clé, elle sera utilisée dans la concaténation. Le nœud racine est libéré. le niveau de l'arbre est réduit d'une unité.
![Page 18: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/18.jpg)
B-arbres
Utilisation d'un arbre B pour le stockage des données
Un nœud de l'arbre = un bloc sur le disque.
A un moment donné seul un bloc est ramené en mémoire.
Nécessite des blocs de très grande taille ( ordre de 200).
Deux façons de ranger les articles : (i) dans les nœuds avec les clés, ( Fichier = B-arbre ) (ii) séparément, donc pointeur additionnel vers
l'information. ( B-arbre = Index)
Si le fichier est grand on préfère de loin utiliser (ii).
![Page 19: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/19.jpg)
B-arbres
Résultats
Facteur de chargement de 70% pour les insertions aléatoires
2 à 3 accès disque pour retrouver des articles parmi des centaines de millions.
Fichiers dynamiques ( Sans réorganisation )
Fichiers ordonnés
![Page 20: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/20.jpg)
Variante : Arbres B*
Retarder la division quand un nœud est plein Redistribution équitable des clés contenues dans le nœud en question et l'un de ses frères.
Si le nœud et son frère sont tous les deux pleins, les deux nœuds sont divisés en 3. Ceci garantit un minimum de chargement à 67% et un chargement moyen de 81%.
B-arbres
![Page 21: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/21.jpg)
B-arbres
Variante : Arbres B+
• Toutes les clés sont maintenues au niveau des feuilles
• Les clés sont dupliquées dans les nœuds non feuilles.
• Les articles(ou les pointeurs vers les articles) sont au niveau des feuilles.
• Les nœuds feuilles sont chaînés (ensemble des séquences)
![Page 22: Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) email: d_zegour@esi.dzd_zegour@esi.dz.](https://reader036.fdocument.pub/reader036/viewer/2022062307/551d9d7e497959293b8b5bb7/html5/thumbnails/22.jpg)
B-arbres
Variante : Arbres B+ avec expansion partielle
• Arbre B+ avec amélioration du facteur de chargement
• Utilise le concept d’élasticité des nœuds
• Garantit un chargement moyen de 83%.