b-arbre +. insertion dans un b-arbre + page feuille page index action vide - placer la clé dans sa...

Post on 04-Apr-2015

105 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related