Your SlideShare is downloading. ×
Arbre b (par EL HACHEM Marwan et RICHA Elias)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Arbre b (par EL HACHEM Marwan et RICHA Elias)

414
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
414
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Equilibré => chaquechemin de la racine a un noeudfeuilleest le meme
  • Transcript

    • 1. Arbre B et B+ Présenté par: Elias Richa Marwan El Hachem
    • 2. • Arbre B – – – – – – PLAN Définition Structure Propriétés Recherche Insertion Suppression • Arbre B+ – – – – – – Définition Structure Propriétés Recherche Insertion Suppression 2
    • 3. Arbre B 3
    • 4. Définition • Un arbre B (ou B-Tree) est un arbre binaire de recherche équilibré • Chaque chemin de la racine à une feuille est de la même longueur h (hauteur) • Stocke les données sous une forme triée • Permet une exécution des opérations d'insertion et de suppression 4
    • 5. Structure de nœud d'un arbre B • K clés avec k1 < k2 < ... < kk • (k+1) pointeurs 5
    • 6. Propriétés • La racine, si elle n’est pas une feuille, doit avoir au minimum deux fils • Chaque nœud contient k clés avec – 1 ≤ k ≤ 2m (nœud racine) – m ≤ k ≤ 2m (nœud non racine) • Toutes les clés d’un nœud sont triées (i.e. k1< k2 < · · · < kk pour k clés) 6
    • 7. Exemple d’arbre B d’ordre m = 2 • Chaque nœud, sauf la racine, contient k clés (2 ≤ k ≤ 4) • La racine contient k clés (1 ≤ k ≤ 4) 7
    • 8. Recherche dans arbre B • A partir de la racine, pour chaque nœud on examine : – La clé est présente  succès – K < k1  recherche dans P0 – K > k  recherche dans Pk – ki < K < ki+1  recherche dans Pi 8
    • 9. Recherche de 15 9
    • 10. • Nombre de clé dans un Arbre B d’ordre m, et de hauteur h – Nb clés min = 2*(m+1) h - 1 – Nb clés max = (2*m+1) h+1 - 1 o Par exemple si m = 100, h = 2 – Nb clés min = 20401 et – Nb clés max =8 120 600 10
    • 11. Insertion dans un arbre B d’ordre m Principe : • Recherche de la feuille d’insertion • Si la feuille n’est pas pleine  insérer la clé a sa place • Sinon (la feuille est pleine)  – Laisser les m plus petites clés dans le nœud – Allouer un nouveau nœud et y placer les m plus grandes clés – Remonter la clé médiane dans le nœud père – Application récursive de ce principe jusqu’à la racine 11
    • 12. Insertion d’un élément dans un arbre B • Exemple 1 : Insertion de la clé 75 dans l’arbre B d’ordre 2 12
    • 13. • Éclatement du nœud en 2 • Les 2 plus petites clés restent dans le nœud (68 et 69) • Les 2 plus grandes clés sont insérées dans un nouveau nœud (75 et 76) • Remontée de la clé médiane (71) dans le nœud père 13
    • 14. Insertion d’un élément dans un arbre B • Exemple 2 : Insertion de la clé 9 dans l’arbre B d’ordre 2 14
    • 15. • • • • • Éclatement du nœud par l'arrivée de la clé 9 Remontée de la clé 8 au nœud père Éclatement du nœud par l'arrivée de la clé 8 Création d'une nouvelle racine avec la clé 11 Augmentation d'une unité de la hauteur 15
    • 16. Suppression d’un élément dans un arbre B Principe • Cas 1 : suppression dans un nœud feuille – Le nombre de clé est m  tasser les clés dans le nœud – Le nombre de clé devient < m  combiner avec un nœud adjacent ce qui entraine la descente d’une clé du nœud père avec éventuellement une réorganisation locale – La réduction du nœud père avec moins de m clés entraine la combinaison de ce nœud père avec un nœud voisin du même niveau remontée éventuelle jusqu’à la racine 16
    • 17. Suppression d’un élément dans un arbre B Principe • Cas 2 : suppression dans un nœud non feuille – Rechercher une clé adjacente à la clé à supprimer – Soit la plus petite du sous arbre droit – Soit la plus grande du sous arbre gauche – Remplir la clé à supprimer par la clé adjacente trouvée – Supprimer la clé adjacente (Équivalent à la suppression dans une feuille) 17
    • 18. Suppression d’un élément dans un arbre B • Exemple 1 : suppression de la clé 25 de la table B d’ordre 2 18
    • 19. • Suppression dans une feuille  le nombre d’élément devient <2 • Combinaison avec un nœud voisin • Descente de la clé(15) • Suppression du nœud (20,25) 19
    • 20. Suppression d’un élément dans un arbre B • Exemple 2 : suppression de la clé 4 de la table B d’ordre 2 20
    • 21. • Suppression dans une feuille  le nombre d’élément devient <2 • Combinaison avec un nœud voisin • Descente de la clé(3) • Suppression du nœud (4,7) 21
    • 22. • le nombre d’élément devient <2 (8) • Combinaison avec un nœud voisin(16,21) • Descente de la clé(11) • La hauteur de l'arbre est passée de 2 à 1 22
    • 23. Suppression dans un nœud non feuille • Exemple 1 : suppression de la clé 5 de la table B d’ordre 2 • Recherche d’une clé adjacente de la clé  on prend la plus grande clé du sous arbre gauche de la clé(4) • Remplacement de la clé par la clé adjacente trouvée • Suppression de la clé trouvée dans un nœud feuille 23
    • 24. Suppression dans un nœud non feuille • Exemple 2 : Suppression de la clé 5 24
    • 25. Suppression dans un nœud non feuille • Exemple 3 : Suppression de la clé 4 25
    • 26. L’arbre devient 26
    • 27. Arbre B+ 27
    • 28. Définition • Un arbre B + est un arbre B ou les feuilles contiennent toutes les clés • C’est un arbre équilibré où chaque chemin de la racine à une feuille est de même longueur H (hauteur) • Chaque nœud (bloc) contient n pointeurs et n1 valeurs (clés), où n est l’ordre de l’arbre 28
    • 29. Structure de nœud d'un arbre B+ P1 C1 Valeurs < C1 P2 C2 … P n-1 C n-1 Pn Valeurs >=C1 et < C2 • n-1 clés avec C1 < C2 < ... < Cn-1 • n pointeurs 29
    • 30. Propriétés • Racine a au moins 2 fils (sauf si elle est feuille) • Chaque nœud sauf la racine a entre *n/2 + et [n] pointeurs (ex. pour n=4, on a entre 2 et 4 pointeurs) • Chaque feuille contient entre [n-1/2 ] et [n-1] clés (ex. pour n=4, on a entre 2 et 3 clés) 30
    • 31. Exemple d’un arbre B+ pour n=4 31
    • 32. Recherche dans arbre B+ 32
    • 33. Recherche de 43 Bloc 7 50 Bloc 2 25 40 Bloc 0 10 20 Bloc 3 25 30 Bloc 6 60 45 Bloc 1 40 43 44 Bloc 8 45 48 Bloc 5 50 53 Bloc 4 60 70 33
    • 34. Insertion dans arbre B+ • Insertion simple • Débordement et division du bloc • Division de la racine • Division de feuille • Division de feuille et racine 34
    • 35. Insertion simple • Insertion de 25 Bloc 2 40 Bloc 0 20 ... 30 Bloc 1 40 ... ... 60 ... Bloc 2 40 Bloc 0 20 25 30 Bloc 1 40 60 35
    • 36. Débordement et division (Racine) • • • • Insertion de 30 Débordement et la division du bloc 0 40 est promue Nouvelle racine Bloc 0 20 ... 40 ... 60 ... Bloc 2 40 Bloc 0 20 ... 30 ... Bloc 1 40 ... 60 ... 36
    • 37. Débordement et division (Feuille) • Insertion de 10 • Débordement et la division du bloc 0 (Nouvelle feuille) • 25 est promue Bloc 2 40 Bloc 0 20 25 Bloc 1 40 60 30 Bloc 2 25 Bloc 0 10 20 40 Bloc 3 25 30 Bloc 1 40 60 37
    • 38. Débordement et division (Feuille, Racine) • • • • Insertion de 45 Débordement et division du bloc 1 (Nouvelle feuille) 50 est promue Bloc 2 Division de la racine 25 40 60 Bloc 0 10 20 Bloc 3 25 30 Bloc 1 40 50 53 Bloc 4 60 70 Bloc 7 50 Bloc 2 25 Bloc 0 10 20 Bloc 3 25 30 Bloc 6 60 40 Bloc 1 40 45 Bloc 5 50 53 Bloc 4 60 70 38
    • 39. Suppression dans arbre B+ • Uniquement dans une feuille Types: • Suppression simple • Suppression et redistribution au niveau nœud racine • Suppression par violation du minimum • Cas de fusion de feuilles et de redistribution au niveau nœud racine 39
    • 40. Suppression simple • Suppression de 70 Bloc 2 25 Bloc 0 10 20 Bloc 3 25 30 Bloc 2 25 Bloc 0 10 20 40 Bloc 1 40 60 70 40 Bloc 3 25 30 Bloc 1 40 60 40
    • 41. Suppression et redistribution au niveau nœud racine • Suppression de 50 Bloc 7 50 Bloc 2 25 40 Bloc 0 10 20 Bloc 3 25 30 Bloc 6 60 45 Bloc 1 40 43 44 Bloc 8 45 48 Bloc 5 50 53 55 Bloc 4 60 70 Bloc 7 53 Bloc 2 25 40 Bloc 0 10 20 Bloc 3 25 30 Bloc 6 60 45 Bloc 1 40 43 44 Bloc 8 45 48 Bloc 5 53 55 Bloc 4 60 70 41
    • 42. Violation du minimum : redistribution si possible • Suppression de 40 Bloc 2 40 Bloc 0 20 25 Bloc 1 40 60 30 Bloc 2 30 Bloc 0 20 25 Bloc 1 30 60 42
    • 43. Cas de fusion de feuilles et de redistribution au niveau du parent Bloc 7 50 • Suppression de 53 Bloc 2 25 40 Bloc 0 10 20 Bloc 3 25 30 Bloc 6 60 Bloc 1 40 45 Bloc 5 50 53 Violation de la règle du minimum Bloc 4 60 70 Fusion des deux frères Bloc 7 50 Bloc 2 25 40 Bloc 0 10 20 Bloc 3 25 30 Redistribution Bloc 1 40 45 Violation de la règle du minimum Bloc 6 60 Bloc 5 50 60 70 43
    • 44. Cas de fusion de feuilles et de redistribution au niveau du parent (suite) Bloc 7 50 Bloc 2 25 Bloc 0 10 20 Bloc 3 25 30 Redistribution 40 Bloc 1 40 45 Violation de la règle du minimum Bloc 6 60 Bloc 5 50 60 70 Bloc 7 40 Bloc 2 25 Bloc 0 10 20 Bloc 3 25 30 Bloc 6 50 Bloc 1 40 45 Bloc 5 50 60 70 44
    • 45. Références • [1] Dr.Mounir GRARI. LA STRUCTURE D'ARBRE-B. Institut National des Sciences Appliquées– Rouen. 40 diapos. Accédé le 10/12/2013. • [2] Sofian MAABOUT. Arbre-B+. Laboratoire Bordelais de Recherche en Informatique. 21 diapos. Accédé le 10/12/2013. www.labri.fr/perso/maabout/L3M/index.ppt • [3] Pr. Eamonn Keogh. Chapter 9 of DBMS – B-Tree. 37 diapos. Accédé le 9/12/2013. www.cs.ucr.edu/~eamonn/teaching/cs166materials 45
    • 46. 46