Upload
fleur-marquis
View
104
Download
0
Embed Size (px)
Citation preview
B-Arbre +B-Arbre +
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)
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
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
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
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.
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
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
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
Insertion
Insérer 65 (Cas 1)
65
Insérer 25 (Cas 1)
25 65
Insérer 50 (Cas 1)
25 50 65
Insérer 30 (Cas 1)
25 30 50 65
Insérer 85 (Cas 2)
85
85
25 30 50 65
25 30 50 65
50
25 30 50 65 85
Insérer 75 (Cas 1)
50
25 30 50 65 75 85
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
Insérer 80 (Cas 2)
50 75
25 30 50 65 75 80 85
Insérer 55 (Cas 1)
50 75
25 30 50 55 65 75 80 85
Insérer 60 (Cas 1)
50 75
25 30 50 55 60 65 75 80 85
Insérer 20 (Cas 1)
50 75
20 25 30 50 55 60 65 75 80 85
Insérer 90 (Cas 1)
50 75
20 25 30 50 55 60 65 75 80 85 90
Insérer 5 (Cas 1)
50 75
5 20 25 30 50 55 60 65 75 80 85 90
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
Insérer 10 (Cas 2)
20 50 75
50 55 60 65 75 80 85 90 5 10
20 25 30
Insérer 15 (Cas 1)
20 50 75
50 55 60 65 75 80 85 90 5 10 15
20 25 30
Insérer 28 (Cas 1)
20 50 75
50 55 60 65 75 80 85 90 5 10 15
20 25 28 30
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
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
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
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
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
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
Suppression
60
25 50 75 85
50 55 75 805 10 15
25 28 30 60 65 70
85 90 95
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
Suppression
60
25 50 75 85
50 55 75 805 10 15 20
25 28 30 60 65
85 90 95
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
Suppression
60
28 50 75 85
50 55 75 805 10 15 20
28 30 60 65
85 90 95
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
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
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
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
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
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
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
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