Arbre B et B+

Présenté par:
Elias Richa
Marwan El Hachem
• Arbre B
–
–
–
–
–
–

PLAN

Définition
Structure
Propriétés
Recherche
Insertion
Suppression

• Arbre B+
–
–
–
–
–
–

Défi...
Arbre B

3
Définition
• Un arbre B (ou B-Tree) est un arbre binaire de
recherche équilibré
• Chaque chemin de la racine à une feuille...
Structure de nœud d'un arbre B

• K clés avec k1 < k2 < ... < kk
• (k+1) pointeurs
5
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
...
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...
Recherche dans arbre B
• A partir de la racine, pour chaque nœud on
examine :
– La clé est présente  succès
– K < k1  re...
Recherche de 15

9
• 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

...
Insertion dans un arbre B d’ordre m
Principe :
• Recherche de la feuille d’insertion
• Si la feuille n’est pas pleine  in...
Insertion d’un élément dans un arbre B
• Exemple 1 : Insertion de la clé 75 dans l’arbre B d’ordre 2

12
• É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ée...
Insertion d’un élément dans un arbre B
• Exemple 2 : Insertion de la clé 9 dans l’arbre B d’ordre 2

14
•
•
•
•
•

É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...
Suppression d’un élément dans un arbre B
Principe
• Cas 1 : suppression dans un nœud feuille
– Le nombre de clé est m  ta...
Suppression d’un élément dans un arbre B
Principe
• Cas 2 : suppression dans un nœud non feuille
– Rechercher une clé adja...
Suppression d’un élément dans un
arbre B
• Exemple 1 : suppression de la clé 25 de la table B d’ordre 2

18
• Suppression dans une feuille  le nombre
d’élément devient <2
• Combinaison avec un nœud voisin
• Descente de la clé(15)...
Suppression d’un élément dans un
arbre B
• Exemple 2 : suppression de la clé 4 de la table B d’ordre 2

20
• Suppression dans une feuille  le nombre
d’élément devient <2
• Combinaison avec un nœud voisin
• Descente de la clé(3)
...
• 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'...
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é ...
Suppression dans un nœud non feuille
• Exemple 2 : Suppression de la clé 5

24
Suppression dans un nœud non feuille
• Exemple 3 : Suppression de la clé 4

25
L’arbre devient

26
Arbre B+

27
Définition
• Un arbre B + est un arbre B ou les feuilles
contiennent toutes les clés
• C’est un arbre équilibré où chaque ...
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...
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] pointe...
Exemple d’un arbre B+ pour n=4

31
Recherche dans arbre B+

32
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 ...
Insertion dans arbre B+
• Insertion simple
• Débordement et division du bloc
• Division de la racine
• Division de feuille...
Insertion simple
• Insertion de 25
Bloc 2
40

Bloc 0
20

...

30

Bloc 1
40

...

...

60

...

Bloc 2
40

Bloc 0
20
25

3...
Débordement et division (Racine)
•
•
•
•

Insertion de 30
Débordement et la division du bloc 0
40 est promue
Nouvelle raci...
Débordement et division (Feuille)
• Insertion de 10
• Débordement et la division du bloc 0 (Nouvelle feuille)
• 25 est pro...
Débordement et division (Feuille, Racine)
•
•
•
•

Insertion de 45
Débordement et division du bloc 1 (Nouvelle feuille)
50...
Suppression dans arbre B+
• Uniquement dans une feuille
Types:
• Suppression simple
• Suppression et redistribution au niv...
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

7...
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
3...
Violation du minimum : redistribution si possible
• Suppression de 40
Bloc 2
40

Bloc 0
20
25

Bloc 1
40
60

30

Bloc 2
30...
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
...
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
3...
Références
• [1] Dr.Mounir GRARI. LA STRUCTURE D'ARBRE-B. Institut
National des Sciences Appliquées– Rouen. 40 diapos.
Acc...
46
Prochain SlideShare
Chargement dans…5
×

Arbre b (par EL HACHEM Marwan et RICHA Elias)

1 821 vues

Publié le

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 821
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
29
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Equilibré =&gt; chaquechemin de la racine a un noeudfeuilleest le meme
  • Arbre b (par EL HACHEM Marwan et RICHA Elias)

    1. 1. Arbre B et B+ Présenté par: Elias Richa Marwan El Hachem
    2. 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. 3. Arbre B 3
    4. 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. 5. Structure de nœud d'un arbre B • K clés avec k1 < k2 < ... < kk • (k+1) pointeurs 5
    6. 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. 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. 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. 9. Recherche de 15 9
    10. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 24. Suppression dans un nœud non feuille • Exemple 2 : Suppression de la clé 5 24
    25. 25. Suppression dans un nœud non feuille • Exemple 3 : Suppression de la clé 4 25
    26. 26. L’arbre devient 26
    27. 27. Arbre B+ 27
    28. 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. 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. 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. 31. Exemple d’un arbre B+ pour n=4 31
    32. 32. Recherche dans arbre B+ 32
    33. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 46

    ×