La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les fichiers indexés (Les B-arbres). Indexation Buts: –Stocker de grands fichiers –Implémenter efficacement lajout et la suppression déléments. –Permettre.

Présentations similaires


Présentation au sujet: "Les fichiers indexés (Les B-arbres). Indexation Buts: –Stocker de grands fichiers –Implémenter efficacement lajout et la suppression déléments. –Permettre."— Transcription de la présentation:

1 Les fichiers indexés (Les B-arbres)

2 Indexation Buts: –Stocker de grands fichiers –Implémenter efficacement lajout et la suppression déléments. –Permettre la recherche par différents types de clefs. –Permettre la recherche par intervalle de clefs.

3 Définitions(1) Fichier séquentiel: Ordonne les enregistrements de façon chronologique (le premier enregistrement inséré apparaît en premier) –Recherche séquentielle Fichier indexé: Le fichier est organisé de façon à optimiser les recherches. Des pointeurs indiquent lemplacement réel des enregistrements. –Peut être organisé sous forme de liste triée, darbre, ou autres.

4 Définitions(2) Clef primaire: Un identificateur unique associé à chaque enregistrement. Clef secondaire: Une clef alternative de recherche. Plusieurs enregistrements peuvent posséder une clef secondaire commune.

5 Indexation linéaire Le fichier est indexé comme une simple séquence ordonnée déléments de la forme (K,P) où K est la clef primaire et P est un pointeur vers lenregistrement. Index linéaire Enregistrements

6 Indexation linéaire (2) Si lindex est trop grand pour être contenu en mémoire, un second niveau dindex peut être utilisé. Second niveau dindex en mémoire Index sur disque

7 Indexation par arbre (1) Lindexation linéaire nest pas efficace pour effectuer les opérations dinsertion et de suppression. Lindexation par arbre peut efficacement supporter toutes les opérations désirées. –Insertion/suppression –Recherche par clefs multiples –Recherche par intervalle de clefs

8 Indexation par arbre (2) Afin de minimiser le nombre daccès disque: –Plusieurs noeuds appartiennent au même bloc –Larbre doit être balancé. –Chaque chemin doit toucher au plus petit nombre de blocs possibles.

9 Arbres 2-3 (1) Un arbre 2-3 possède les propriéteés suivantes: 1.Un noeud contient 1 ou 2 clefs 2.Chaque noeud interne a 1.2 enfants (sil contient deux clefs) ou 2.3 enfants (sil contient 2 clefs). 3.Toutes les feuilles sont au même niveau dans larbre (qui est donc balancé). La recherche dans un arbre 2-3 ressemble à celle dans un arbre binaire de recherche.

10 Arbre 2-3 (2) Contrairement à un arbre binaire de recherche, un arbre 2-3 peut être modifié de façon efficace.

11 Insérer 14 (1)

12 Insérer 55

13 Ajouter 19 (1)

14 Ajouter 19 (2)

15 Enlever une valeur 3 cas à considérer: feuille contenant 2 éléments feuille contenant 1 élément nœud interne

16 B-arbres (1) Un B-arbre est une généralisation dun arbre 2-3. Le B-arbre est maintenant la méthode standard dorganisation de fichiers pour les applications demandant des insertions, suppressions et recherches par intervalle de clefs.

17 B-arbres (2) 1.Les B-arbres sont toujours balancés 2.Les B-arbres conservent les clefs contenant des valeurs similaires dans un même bloc de façon à minimiser le nombre daccès disque. 3.Les B-arbres garantissent que tous les noeuds seront remplis à au moins un certain pourcentage de leur capacité. Cela optimise lespace disque utilisé ainsi que le nombre daccès disque.

18 Définition Un B-arbre dordre m possède les propriétés suivantes: –La racine est soit une feuille ou possède au moins 2 enfants. –Chaque noeud, excepté la racine et les feuilles, a entre m/2 et m enfants. –Toutes les feuilles sont au même niveau dans larbre. La taille dun noeud dans un B-arbre est choisit de façon à correspondre à la taille dun bloc sur le disque. –Un noeud peut avoir des centaines denfants.

19 Recherche dans un B-arbre Généralisation dune recherche dans un arbre 2-3. Effectuer une recherche binaire dans larbre. Si la clef est trouvée, retourner lenregistrement. Sinon, retourner une valeur indiquant que la clef nest pas dans larbre.

20 Insertion Généralisation de linsertion dans un arbre 2-3 Trouver la feuille qui devrait contenir lélément. Sil y a de lespace, insérer lélément. Sinon, diviser la feuille en deux La clef du milieu est promue au parent

21 B + -arbres La forme de B-arbre habituellement implémentée. Les noeuds internes ne contiennent que les clefs afin de guider la recherche. Les feuilles contiennent les enregistrements ou les pointeurs vers les enregistrements. Une feuille peut contenir plus ou moins dinformation que les noeuds internes. Les nœuds dun même niveau sont chaînés.

22 Exemple

23 Insertion On insère 50 Plusieurs autres insertions On insère 30

24 Enlever 18

25 Enlever 12

26 Enlever 33

27 Analyse (1) Les noeuds internes dun B+-arbres sont toujours au moins à moitier pleins. Le coût de linsertion et de la suppression dun noeud est dans (log n). –La base du log correspond au nombre moyen denfants des nœuds de larbre. –Une base de données typique utilise un nombre moyen denfants très grand (plus de 100).


Télécharger ppt "Les fichiers indexés (Les B-arbres). Indexation Buts: –Stocker de grands fichiers –Implémenter efficacement lajout et la suppression déléments. –Permettre."

Présentations similaires


Annonces Google