B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa...

45
B-Arbre +

Transcript of B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa...

Page 1: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

B-Arbre +B-Arbre +

Page 2: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insertion dans un B-Arbre +

Page feuille

Page index

Action

Vide Vide - Placer la clé dans sa bonne position (selon l’ordre) dans la page feuille appropriée

Pleine Vide - diviser la page feuille en deux

- placer la valeur clé médiane dans la page interne (index) père P dans un ordre approprié

- la page feuille gauche contient les clés < à la clé médiane

- la page feuille droite contient les clé >= à la clé médiane

Pleine Plein - diviser la page feuille en deux

- la feuille gauche contient les clés < à la valeur clé médiane

- la feuille droite contient les clés >= à la valeur clé médiane

- diviser la page non feuille (index) père en deux

clés < clé médiane -> page index gauche

clés > clé médiane -> page index droite

clé médiane `-> page index du niveau supérieur (si la page index du niveau supérieur est pleine, on continue la division de cette page index)

Page 3: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insertion dans un B-Arbre +

Page feuille

Page index

Action

Vide Vide - Placer la clé dans sa bonne position (selon l’ordre) dans la page feuille appropriée

Pleine Vide - diviser la page feuille en deux

- placer la valeur clé médiane dans la page interne (index) père P dans un ordre approprié

- la page feuille gauche contient les clés < à la clé médiane

- la page feuille droite contient les clé >= à la clé médiane

Pleine Plein - diviser la page feuille en deux

- la feuille gauche contient les clés < à la valeur clé médiane

- la feuille droite contient les clés >= à la valeur clé médiane

- diviser la page non feuille (index) père en deux

clés < clé médiane -> page index gauche

clés > clé médiane -> page index droite

clé médiane `-> page index du niveau supérieur (si la page index du niveau supérieur est pleine, on continue la division de cette page index)

Cas 1

Page 4: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insertion dans un B-Arbre +

Page feuille

Page index

Action

Vide Vide - Placer la clé dans sa bonne position (selon l’ordre) dans la page feuille appropriée

Pleine Vide - diviser la page feuille en deux

- placer la valeur clé médiane dans la page interne (index) père P dans un ordre approprié

- la page feuille gauche contient les clés < à la clé médiane

- la page feuille droite contient les clé >= à la clé médiane

Pleine Plein - diviser la page feuille en deux

- la feuille gauche contient les clés < à la valeur clé médiane

- la feuille droite contient les clés >= à la valeur clé médiane

- diviser la page non feuille (index) père en deux

clés < clé médiane -> page index gauche

clés > clé médiane -> page index droite

clé médiane `-> page index du niveau supérieur (si la page index du niveau supérieur est pleine, on continue la division de cette page index)

Cas 2

Page 5: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insertion dans un B-Arbre +

Page feuille

Page index

Action

Vide Vide - Placer la clé dans sa bonne position (selon l’ordre) dans la page feuille appropriée

Pleine Vide - diviser la page feuille en deux

- placer la valeur clé médiane dans la page interne (index) père P dans un ordre approprié

- la page feuille gauche contient les clés < à la clé médiane

- la page feuille droite contient les clé >= à la clé médiane

Pleine Plein - diviser la page feuille en deux

- la feuille gauche contient les clés < à la valeur clé médiane

- la feuille droite contient les clés >= à la valeur clé médiane

- diviser la page non feuille (index) père en deux

clés < clé médiane -> page index gauche

clés > clé médiane -> page index droite

clé médiane `-> page index du niveau supérieur (si la page index du niveau supérieur est pleine, on continue la division de cette page index)

Cas 3

Page 6: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression dans un B-Arbre +

Page feuille

Violation

Page index

Violation

Action

Non Non - Supprimer la clé de la page feuille et arranger les clés dans l’ordre croissant pour remplir le vide. Si la clé à supprimer apparaît dans une des pages index, utiliser la prochaine valeur clé (supérieure) pur la remplacer dans ces pages.

Oui Non - Combiner (fusionner) la page feuille et sa sœur.

- Changer la page d’index pour refléter le changement.

Oui Oui - Combiner (fusionner) la page avec sa sœur.

- Ajuster la page index pour refléter le changement.

- Combiner (fusionner) les pages index jusqu’à rencontrer une page avec un facteur de remplissage correct (pas de violation) ou rencontrer la racine.

Page 7: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression dans un B-Arbre +

Page feuille

Violation

Page index

Violation

Action

Non Non - Supprimer la clé de la page feuille et arranger les clés dans l’ordre croissant pour remplir le vide. Si la clé à supprimer apparaît dans une des pages index, utiliser la prochaine valeur clé (supérieure) pur la remplacer dans ces pages.

Oui Non - Combiner (fusionner) la page feuille et sa sœur.

- Changer la page d’index pour refléter le changement.

Oui Oui - Combiner (fusionner) la page avec sa sœur.

- Ajuster la page index pour refléter le changement.

- Combiner (fusionner) les pages index jusqu’à rencontrer une page avec un facteur de remplissage correct (pas de violation) ou rencontrer la racine.

Cas 1

Page 8: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression dans un B-Arbre +

Page feuille

Violation

Page index

Violation

Action

Non Non - Supprimer la clé de la page feuille et arranger les clés dans l’ordre croissant pour remplir le vide. Si la clé à supprimer apparaît dans une des pages index, utiliser la prochaine valeur clé (supérieure) pur la remplacer dans ces pages.

Oui Non - Combiner (fusionner) la page feuille et sa sœur.

- Changer la page d’index pour refléter le changement.

Oui Oui - Combiner (fusionner) la page avec sa sœur.

- Ajuster la page index pour refléter le changement.

- Combiner (fusionner) les pages index jusqu’à rencontrer une page avec un facteur de remplissage correct (pas de violation) ou rencontrer la racine.

Cas 2

Page 9: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression dans un B-Arbre +

Page feuille

Violation

Page index

Violation

Action

Non Non - Supprimer la clé de la page feuille et arranger les clés dans l’ordre croissant pour remplir le vide. Si la clé à supprimer apparaît dans une des pages index, utiliser la prochaine valeur clé (supérieure) pur la remplacer dans ces pages.

Oui Non - Combiner (fusionner) la page feuille et sa sœur.

- Changer la page d’index pour refléter le changement.

Oui Oui - Combiner (fusionner) la page avec sa sœur.

- Ajuster la page index pour refléter le changement.

- Combiner (fusionner) les pages index jusqu’à rencontrer une page avec un facteur de remplissage correct (pas de violation) ou rencontrer la racine.

Cas 3

Page 10: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insertion

Insérer 65 (Cas 1)

65

Page 11: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 25 (Cas 1)

25 65

Page 12: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 50 (Cas 1)

25 50 65

Page 13: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 30 (Cas 1)

25 30 50 65

Page 14: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 85 (Cas 2)

85

85

25 30 50 65

25 30 50 65

50

25 30 50 65 85

Page 15: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 75 (Cas 1)

50

25 30 50 65 75 85

Page 16: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 80 (Cas 2)

50

25 30 50 65 75 85

80

50

25 30 50 65 75 80 85

50

25 30 50 65 75 80 85

Page 17: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 80 (Cas 2)

50 75

25 30 50 65 75 80 85

Page 18: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 55 (Cas 1)

50 75

25 30 50 55 65 75 80 85

Page 19: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 60 (Cas 1)

50 75

25 30 50 55 60 65 75 80 85

Page 20: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 20 (Cas 1)

50 75

20 25 30 50 55 60 65 75 80 85

Page 21: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 90 (Cas 1)

50 75

20 25 30 50 55 60 65 75 80 85 90

Page 22: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 5 (Cas 1)

50 75

5 20 25 30 50 55 60 65 75 80 85 90

Page 23: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 10 (Cas 2)

50 75

5 20 25 30 50 55 60 65 75 80 85 90

10

50 75

5 10 20 25 50 55 60 65 75 80 85 90 30

50 75

5 10 20 25 50 55 60 65 75 80 85 90 30

Page 24: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 10 (Cas 2)

20 50 75

50 55 60 65 75 80 85 90 5 10

20 25 30

Page 25: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 15 (Cas 1)

20 50 75

50 55 60 65 75 80 85 90 5 10 15

20 25 30

Page 26: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 28 (Cas 1)

20 50 75

50 55 60 65 75 80 85 90 5 10 15

20 25 28 30

Page 27: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 70 (Cas 2)

20 50 75

50 55 60 65 75 80 85 90 5 10 15

20 25 28 30 70

20 50 75

50 55 60 65 75 80 85 90 5 10 15

20 25 28 30 70

Page 28: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 70 (Cas 2)

20 50 60 75

50 55 75 80 85 90 5 10 15

20 25 28 30 60 65 70

Page 29: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 95 (Cas 3)

20 50 60 75

50 55 75 80 85 90 5 10 15

20 25 28 30 60 65 70 95

20 50 60 75

50 55 75 80 85 90 5 10 15

20 25 28 30 60 65 70 95

Page 30: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 95 (Cas 3)

20 50 60 75

50 55 75 80

85

5 10 15

20 25 28 30 60 65 70

85 90 95

Page 31: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 95 (Cas 3)

20 50 60 75

50 55 75 80

85

5 10 15

20 25 28 30 60 65 70

85 90 95

Page 32: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Insérer 95 (Cas 3)

20 50 60 75

50 55 75 80

85

5 10 15

20 25 28 30 60 65 70

85 90 95

60

20 50 75 85

50 55 75 805 10 15

20 25 28 30 60 65 70

85 90 95

Page 33: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

60

25 50 75 85

50 55 75 805 10 15

25 28 30 60 65 70

85 90 95

Page 34: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

Supprimer 70 (Cas 1)

60

25 50 75 85

50 55 75 805 10 15 20

25 28 30 60 65 70

85 90 95 Sans violation

70 n’appartient pas à une page interne

Page 35: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

60

25 50 75 85

50 55 75 805 10 15 20

25 28 30 60 65

85 90 95

Page 36: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

Supprimer 25 (Cas 1)

60

25 50 75 85

50 55 75 805 10 15 20

25 28 30 60 65

85 90 95 Sans violation

25 appartient à une page interne

Page 37: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

60

28 50 75 85

50 55 75 805 10 15 20

28 30 60 65

85 90 95

Page 38: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

Supprimer 60 (Cas 2 et 3)

60

28 50 75 85

50 55 75 805 10 15 20

28 30 60 65

85 90 95 Violation

Page 39: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

Supprimer 60 (Cas 2 et 3)

60

28 50 75 85

50 55 75 805 10 15 20

28 30 60 65

85 90 95 Fusionner

Page 40: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

Supprimer 60 (Cas 2 et 3)

60

28 50 75 85

50 55 75 805 10 15 20

28 30 60 65

85 90 95

On peut fusionner avec l’autre frère

Cas 2 Fusion

Page 41: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

Supprimer 60 (Cas 2 et 3)

65

28 50 75 85

50 55 5 10 15 20

28 30

65 75 80

85 90 95

Page 42: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

Supprimer 60 (Cas 2 et 3)

65

28 50 85

50 55 5 10 15 20

28 30

65 75 80

85 90 95

Violation

Page 43: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

Supprimer 60 (Cas 2 et 3)

65

28 50 85

50 55 5 10 15 20

28 30

65 75 80

85 90 95

Fusionner

Page 44: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

Supprimer 60 (Cas 2 et 3)

65

28 50 85

50 55 5 10 15 20

28 30

65 75 80

85 90 95

Fusionner

Page 45: B-Arbre +. Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon lordre) dans la page feuille.

Suppression

Supprimer 60 (Cas 2 et 3)

28 50 65 85

50 55 5 10 15 20

28 30

65 75 80

85 90 95