Structures de donn - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Structures de donn

Description:

Ki appartient un domaine Di. Article = point de l'espace d-dimensionnel D1 X D2 X....XDd ... de cette colonne est calcul e en ajoutant l'indice ligne (i) 20 cad ... – PowerPoint PPT presentation

Number of Views:69
Avg rating:3.0/5.0
Slides: 22
Provided by: zeg18
Category:

less

Transcript and Presenter's Notes

Title: Structures de donn


1
Structures de données avancées Concepts du
Multidimensionnel
  • D. E
  • ZEGOUR
  • Institut National d Informatique

2
Concept du multidimensionnel
  • Les méthodes traditionnelles
  • Utilisent les listes inversées
  • Autant d'indexes secondaires que d'attributs
  • Coûteuses pour les grands fichiers
  • Les méthodes modernes
  • N'utilisent pratiquement pas d'index
  • Utilisent le concept des tableaux extensibles
  • Visent un accès disque

3
Concept du multidimensionnel
  • Terminologie
  • Article ( k1, k2, ...kd)
  • d attributs A1, A2, ......, Ad , d est la
    dimension
  • Généralement, une clé primaire (k1) et d-1 clés
    secondaires (k2, K3, ...Kd)
  • Ki appartient à un domaine Di
  • Article point de l'espace d-dimensionnel D1 X
    D2 X....XDd

4
Concept du multidimensionnel
  • Terminologie
  • Requête exacte (Exact match query )
  • Tous les attributs sont spécifiés
  • ( Articles avec A1k1, A2k2, ....AdKd )
  • Requête partielle (Partial match query )
  • Quelques attributs sont spécifiés
  • Requête par intervalle ( Region query )
  • Un intervalle est spécifié pour chaque
    attribut.

5
Concept du multidimensionnel
  • Représentation d'un tableau statique
  • Déclaration A(a1b1 a2b2 ......anbn) 
  • Ordre de rangement des sous tableaux A(i, , ,
    ..., )
  •  
  • A(a1, , , ..., ),
  • A(a11, , , ..., ),
  • A(a12, , , ..., ),
  • .........,
  • A(b1, , , ..., )

6
Concept du multidimensionnel
  • Représentation d'un tableau statique
  • A l'intérieur de chaque sous tableau A(i, , ,
    ...., ), l'ordre suivant des sous sous-tableaux
    est considéré
  • A(i, a2, , , ..., ),
  • A(i, a21, , , ..., ),
  • A(i, a22, , , ..., ),
  • ......,
  • A(i, b2, , , ..., )
  •  
  • Et ainsi de suite ...
  • Donc rangement de la matrice ligne par ligne. Ce
    sont les derniers indices qui varient le plus
    rapidement.

7
Concept du multidimensionnel
  • Exemple pour un tableau A(3, 2, 3)

8
Concept du multidimensionnel
  • Adresse d'un élément A(i1, i2 .., in) ?
  •  
  • Posons di bi - ai 1
  • Adr de A(i1, , , ....) AD1 Base
    (i1-a1) d2d2...dn
  • Adr de A(i1, i2, , ...., ) AD2 AD1
    (i2-a2)d3d4...dn
  • Adr de A(i1, i2, ...in)
  • ADn Base (i1-a1)d2d3..dn (i2-a2)d3d4...dn
    ....(in-1-an-1)dn (in-an)
  •  
  • Partie constante Base -(a1 ?i2,ndi a2 ?i3,n
    di...an-1dn an)
  •  
  • Partie variable in ?i2,n di i2 ?i3,ndi
    ... in-1dn in

9
Concept du multidimensionnel
  • Adresse d'un élément A(i1, i2 .., in) ?
  • Si a1 a2 ...... an 0, ladresse de A(i1,
    i2, ...in) est
  • i1d2d3..dn i2d3d4...dn ....in-1dn in
  •  
  • Ou bien
  •  
  • ?j1,n ( ij . ?ij1,n di )

10
Concept du multidimensionnel
  • Tableaux extensibles définition, notations
  • Tableau A0U1, 0U2, ....,0Uk , Ui variable
  • Aj1, j2, ...jk représente un élément du
    tableau.
  • Chaque ji est dans l'intervalle 0..Ui
  • Le tableau est représenté en mémoire de manière
    contiguë M0..V
  • V ?i1,k ( Ui 1) - 1
  • L'état initial Ui est 0 pour tout i dans 1, 2,
    ...,k)
  • A0, 0, ... a comme image M0. 

11
Concept du multidimensionnel
  • Tableaux extensibles fonction dallocation
  • Un schéma d'allocation du tableau A est une
    fonction bijective Loc Nk ---gt N telle
    que
  • (i) Loc(lt0, 0, 0gt) 0
  • (ii) Loc(lta1, a2,...akgt) lt Loc(ltb1, b2, ...bkgt)
  • ssi pour i ? k ,
  • at bt pour 1 ? t lt i et
  • ai lt bi sinon

12
Concept du multidimensionnel
  • Représentation dun tableau extensible à K
    dimensions (KDEA K-Dimensional Extensible Array
    )
  • Utilisation dun tableau d'index IXA0X, 1..K,
    1..K)
  • Première dimension évolution des indices
  • Deuxième dimension 1 tableau par dimension
  • Troisième dimension base et facteur
    multiplicatif pour chaque dimension
  •  
  • X Max (U1, U2, ....,Uk )
  •  
  • Remarque IXA peut être vu comme K distinct
    2-dimensionnel tableaux  Bi 0..Ui , 1..k avec
    i1, k.

13
Concept du multidimensionnel
  • Exemple
  • Mécanisme d'expansion dans le cas d'un 2DEA a
    travers les changements d'état suivants
  • ( U1, U2 ) (0, 0), (0, 1), (0, 2), (1, 2), (2,
    2), (2, 3), (3, 3), (3, 4)

14
Concept du multidimensionnel
  • Illustration du principe d'expansion
  • Ajouter une colonne au tableau qui occupe 4 X 5
    20 éléments, adressé de 0 à 19.
  • La nouvelle colonne doit occuper 4 éléments à
    partir de l'Adresse 20.
  • Ladresse d'un élément A(i, j) de cette colonne
    est calculée en ajoutant l'indice ligne (i) à 20
    cad A(i, j) 20 i (ExA(2, 5) 22 )
  • Nous devons donc enregistrer le fait que
    l'Adresse début de chaque élément de la colonne 5
    est 20. On range donc 20 dans B25,2.

B1
B2
  • De la même façon, si nous
  • ajoutons la 5ième ligne,
  • nous enregistrons l'Adresse
  • début 24 dans B14, 1.

15
Concept du multidimensionnel
  • Comment calculer ladresse d'un élément
    arbitraire soit A (1, 5) ? 
  • Est-ce que A(1, 5) appartient à une ligne ou une
    colonne?
  • Si A(1, 5) a été ajouté à la ligne 1, B2 (5,2)
    devrait avoir une valeur inférieure à ladresse
    début de la ligne 1 qui est B1 (1, 1).
  • Donc il suffit de prendre le Max entre B2(5,2)
    et B1 (1,1).

B1
B2
16
Concept du multidimensionnel
  • Procédure d'allocation
  • Étendre(t) t index, t 1, k
  • 1. Étendre Bt0Ut, 1..K à Bt0Ut 1, 1..K
  • 2. Utlt--- Ut 1
  • 3. BtUt1,t (Ut1) ? r1, k et r t.(Ur
    1) base
  • Bt(Ut1, q ? rq1, ..., k et r t ( Ur
    1) facteurs multiplicatifs
  • q1, K et q ltgt t.

17
Concept du multidimensionnel
  • Fonction d'accès Adresse de A(j1, j2, ..., jk )
    ?
  • 1. Déterminer l'indice t tel que
  • Btjt, t Max Biji, i, i1, ..,K
  • 2. Adresse Btjt,t ? r 1, ...,K et r t (
    Btjt, r jr )

18
Concept du multidimensionnel
  • Calcul des adresses
  • Adr(0,0)0 Adr(0,1)3 Adr(0,2)6 Adr(0,3)12
    Adr(0,4)24 Adr(1,0)1
  • Adr(1,1)4 Adr(1,2)7 Adr(1,3)13 Adr(1,4)25
    Adr(2,0)2 Adr(2,1)5
  • Adr(2,2)8 Adr(2,3)14 Adr(2,4)26 Adr(3,0)9
    Adr(3,1)10 Adr(3,2)11 Adr(3,3)15 Adr(3,4)27
    Adr(4,0)16 Adr(4,1)17 Adr(4,2)18 Adr(4,3)19
  • Adr(4,4)28 Adr(5,0)20 Adr(5,1)21 Adr(5,2)22
    Adr(5,3)23 Adr(5,4)29
  • Exemple 1 k2 E 1, 1, 2, 2, 1, 2, 1, 1, 2
  • Contenu des tables
  • B1
  • 1 0 1 2 9 16 20
  • 2 1 1 1 1 1 1
  • B2
  • 1 1 1 1 1 1
  • 2 0 3 6 12 24

19
Concept du multidimensionnel
  • Exemple 2
  • k3 E1, 2, 3, 1, 2, 3, 1, 2, 3
  • Contenu des tables
  • B1
  • 1 0 1 8 27
  • 2 1 1 2 3
  • 3 1 1 1 1
  • B2
  • 1 1 1 2 3
  • 2 0 2 12 36
  • 3 1 1 1 1
  • B3
  • 1 1 2 3 4
  • 2 1 1 1 1
  • 3 0 4 18 48

20
Concept du multidimensionnel
  • Calcul des adresses
  • Adr(0,0,0)0 Adr(0,0,1)4 Adr(0,0,2)18 Adr(0,0
    ,3)48 Adr(0,1,0)2 Adr(0,1,1)5
  • Adr(0,1,2)19 Adr(0,1,3)49 Adr(0,2,0)12 Adr(0
    ,2,1)13 Adr(0,2,2)20 Adr(0,2,3)50
  • Adr(0,3,0)36 Adr(0,3,1)37 Adr(0,3,2)38 Adr(0
    ,3,3)51 Adr(1,0,0)1 Adr(1,0,1)6
  • Adr(1,0,2)21 Adr(1,0,3)52 Adr(1,1,0)3 Adr(1,
    1,1)7 Adr(1,1,2)22 Adr(1,1,3)53
  • Adr(1,2,0)14 Adr(1,2,1)15 Adr(1,2,2)23 Adr(1
    ,2,3)54 Adr(1,3,0)39 Adr(1,3,1)40
  • Adr(1,3,2)41 Adr(1,3,3)55 Adr(2,0,0)8 Adr(2,
    0,1)9 Adr(2,0,2)24 Adr(2,0,3)56

21
Concept du multidimensionnel
  • Adr(2,1,0)10 Adr(2,1,1)11 Adr(2,1,2)25 Adr(2,
    1,3)57 Adr(2,2,0)16 Adr(2,2,1)17
  • Adr(2,2,2)26 Adr(2,2,3)58 Adr(2,3,0)42 Adr(2
    ,3,1)43 Adr(2,3,2)44 Adr(2,3,3)59
  • Adr(3,0,0)27 Adr(3,0,1)28 Adr(3,0,2)29 Adr(3
    ,0,3)60 Adr(3,1,0)30 Adr(3,1,1)31
  • Adr(3,1,2)32 Adr(3,1,3)61 Adr(3,2,0)33 Adr(3
    ,2,1)34 Adr(3,2,2)35 Adr(3,2,3)62
  • Adr(3,3,0)45 Adr(3,3,1)46 Adr(3,3,2)47 Adr(3
    ,3,3)63
Write a Comment
User Comments (0)
About PowerShow.com