1 / 15

Structures de données avancées : MBT ( Multidimensional B-trees )

Structures de données avancées : MBT ( Multidimensional B-trees ). D. E ZEGOUR Institut National d ’Informatique. Arbres B Multidimensionnels. Description Utilise un index permettant d'indexer tous les attributs du fichier. L'index est un arbre m-aire ou chaque nœud est un B arbre.

Download Presentation

Structures de données avancées : MBT ( Multidimensional B-trees )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Structures de données avancées : MBT ( Multidimensional B-trees ) D. E ZEGOUR Institut National d ’Informatique

  2. Arbres B Multidimensionnels Description • Utilise un index permettant d'indexer tous les attributs du fichier. L'index est un arbre m-aire ou chaque nœud est un B arbre. • Les nœuds internes au même niveau dans l'index correspondent aux B arbres indexant des valeurs différentes d'un même attribut. • Le nœud racine correspond au B arbre contenant toutes les valeurs relatives à l'attribut 1.

  3. Arbres B Multidimensionnels Description • Chaque valeur V1, dans cet arbre, pointe l'un des nœuds fils du niveau prochain ( B arbre de niveau 2) contenant les valeurs de A2 apparaissant avec V1 dans le fichier. • Ces valeurs de A2 ( B arbre de niveau 2 associé à V1) forme ce qu'on appelle l'ensemble filial de V1 au niveau 2. • De même, chaque valeur de V2 de cet ensemble pointe l'un des nœuds fils (B arbre au niveau 3) contenant toutes les valeurs apparaissant avec V1 et V2 dans le fichier. • Ce processus continue jusqu'à ce que un nœud feuille est atteint, contenant ainsi toutes les adresses telles que : A1 = V1 & A2 = V2 & ......& An = Vn

  4. Arbres B Multidimensionnels Structure d'une page d'un B arbre (K1F1P1) (K2F2P2) (K3F3P3) .....(Kh-1, Fh-1, Ph-1) • Kj : valeur d'attribut • Pj : pointeur dans le même sous arbre contenant les valeurs entre Kj et Kj+1. • Fj : point l'ensemble filial de Kj dans le niveau prochain.

  5. Arbres B Multidimensionnels Au niveau le plus bas • Nœuds feuilles = pages d'accession contenant chacune des pointeurs vers les articles du fichier. • De plus, ces pages sont liées ( liste horizontale ). • Si l'une de ces pages déborde, une liste orthogonale pour cette page est créée.

  6. Arbres B Multidimensionnels Structure d’un B arbre multidimensionnel

  7. Arbres B Multidimensionnels Exemple d’un ABM Exemple : fichier avec les clés : a1b1, a1b2, a1b3, a1b4, a1b5 , a2b0, a2b4 ,a3b0 {b1, b2, b3, b4, b5} est l'ensemble filial de a1. {b0, b4} est l'ensemble filial de a2. 2 1 0 2 1 0 0 1 a2b0 a1b3 a2b4 a1b2 a3b0 a1b5 a1b4 a1b1 Fichier de données 0 1 2

  8. Arbres B Multidimensionnels Informations additionnelles • La racine de chaque B arbre contient 3 pointeurs additionnels : Left, Right et Next : • Left : pointeur du B arbre le plus à gauche du niveau prochain de son ensemble filial. • Next : pointeur au B arbre suivant du même niveau • Right : pointeur du B arbre le plus à droite du niveau prochain de son ensemble filial. • Level(i) donnant le premier B arbre dans le niveau i. But : accéder directement à un niveau i quelconque de l'index ( utilisé dans les requêtes à intervalle)

  9. Arbres B Multidimensionnels Insertion de <a1, a2, …,an> • 1. Trouver le plus petit j tel que la combinaison a1, a2, …aj n’existe pas encore. • 2. aj est inséré dans l'ensemble filial de aj-1. • 3. Pour k:=j+1, n • Insertion d’un nouvel B-arbre contenant ak • Mise à jour du pointeur Next dans Pred(Fk)

  10. Arbres B Multidimensionnels Suppression de <a1, a2, …,an> • 1. Trouver j tel que Fj,…Fn ne soient formés que d’une seule valeur chacun • 2. Supprimer aj de Fj-1. • 3. Pour k:=j, n • Libérer Fk • Mise à jour de Next dans Pred(Fk)

  11. ABM : Exemples insertion/suppression a1 Right aj-1 Next aj Next aj+1 Next an

  12. ABM : Requête exacte a1 a2 Chaque attribut est recherché dans le B-arbre correspondant. an-1 an

  13. ABM : Requête partielle Niveaux non spécifiés Level(i1) Next Next Next Next Niveau i1 spécifié Niveau i2 spécifié Right Right Left Left Niveaux non spécifiés Right Left Right Left Left Left Right …

  14. ABM : Requête par intervalle Recherche de 2 valeurs dans des listes d’arbres à chaque niveau du répertoire. F_ptr F_ptr F_ptr F_ptr F_ptr F_ptr F_ptr

  15. Arbres B Multidimensionnels • Occupe beaucoup d’espace • Indexes pour chaque attribut • Performances logarithmiques pour toutes les opérations. • Facteur de chargement au voisinage de 70%

More Related