Structures de donnes avances Introduction Pr ZEGOUR DJAMEL
- Slides: 39
Structures de données avancées : Introduction Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour. esi. dz email: d_zegour@esi. dz
Structure de données Structures de données : concept vital en Informatique Pour un problème donné, quelle structures de données choisir pour l’implémentation de sa solution ? Les arbres de recherche binaires équilibrés en RAM Dynamique (AVL, RB, AA) Statique (DSW) Les structures de fichiers Unidimensionnelles (B-arbres, LH, TH, ) Multidimensionnelles (MB-arbres, MLH, MTH) Distribuées (RP*, LH*, TH*) Structures de données spécifiques: Quadtree, Octree : Imagerie R-tree : données spatiales
Les arbres Ar br r b r A em re i a n -a ir e i eb Arbres AVL Arbres RB Arm avec degré < 5 Arm équilibrés : Arbres 2 -3 et 2 -4 re de rec - m e rch he rch e h ec eb ina ire e r i a e br r A r e d
Arbres équilibrés en RAM AVL 1962 Arbres 2 -3 B Arbres 1972 Arbres équilibrés en RAM BB : B-arbres Binaires Symétriques 1978 Arbres Red-Black Arbres AA 1993 LLRB 2008 Arbres 2 -4
Structures de fichiers : Classification Sim p plu le sie u ou e e u u q q i i t Sta ynam d rs attr at ibu tri bu t, ts - Organisation directe( hash-code) - Organisation d'arbre ( tables d'index hiérarchisées ) Loc al dis trib ou ué de s n it o pa va ou r se dre é Pr l'or
Structures de fichiers Hachage 1955 B Arbres 1973 Structures de fichiers Uni-dim LH 1980 HI TH 1981 1983 MLH LH* Multi-dim MTH MBT 1993 RP* Distribuées 1985 HI* 1996 2002 TH*
Généralités Expressions : itérative -récursive Mesure des algorithmes Complexité des algorithmes O-notation Types abstraits et Implémentation Stratégies: files d’attente - piles Méthodologie : ascendante descendante
Pré-requis : Structures de données en RAM
Structures de données en RAM Tableaux, listes Arbre de recherche binaire Graphes Arbre de recherche m-aire d’ordre 3 et 4 Hachage
Arbres binaires : types de parcours Préordre : n T 1 T 2 Préordre inverse : n T 2 T 1 n Inordre : T 1 n T 2 T 1 T 2 Inordre inverse : T 2 n T 1 Postordre inverse : T 2 T 1 n Postordre : T 1 T 2 n Parcours en largeur Droite Gauche Parcours en largeur Gauche Droite Etc.
Arbres de recherche binaire Structure d'un nœud : (s 1, k, s 2) K: donnée et S 1, S 2 les fils (Éléments dans s 1 ) < k (Éléments dans s 2) > k L'inordre donne la liste ordonnée de tous les éléments. Opérations: Recherche dichotomique L'élément inséré est toujours une feuille Suppression : plus délicate.
Arbres de recherche binaire : Suppression n fg a) Nil b) Nil c) #Nil fd Nil #Nil Action Remplacer n par Nil Remplacer n par Fd(n) Remplacer n par Fg(n)
Arbres m-aire � Généralisation de l'AB � Structure d'un nœud : (k 1, s 2. . . . , sn) • Pas de relation d’ordre • Peut se transformer en un arbre binaire
Arbres m-aire: Parcours n Préordre : n T 1 T 2. . . Tp (rabefjkgcdhi) T 1 T 2 … Tp r Inordre : T 1 n T 2. …Tp (arebjfkgchdi) Postordre : T 1 T 2. . . Tp n (aejkfgbchidr) a e j d c b f g h k i
Arbres de recherche m-aire � Généralisation de l'ARB � Structure d'un nœud : (s 1, k 1, s 2, . . . . kn-1, sn) k 1 < k 2. . < kn-1 (Éléments dans s 1 ) <= k 1 (Éléments dans sj) > kj-1 et ≤ kj (j=2, 3, . . . n-1) (Éléments dans sn) > kn-1. Arbre de recherche m-aire TOP-DOWN : Tout nœud non rempli doit être une feuille. ( C’ est le plus utilisé ) Arbre de recherche m-aire équilibré : B-arbre
Arbres de recherche m-aire • Arbre de recherche TOP-DOWN 45, 68, 80, 25. 23. 45. 68. 80. 12. 23. 45. 68. 80. . 12. 50, 54. 23. 45. 68. 80. . 12. . 50. 54.
Arbres de recherche m-aire . 23. 45. 68. 80. . 12. . 50. 54. 20, 92, 48, 63, 60, 100. 23. 45. 68. 80. . 12. 20. . 48. . 50. 54. 63. . 60. . 92. 100.
Arbres de recherche m-aire 45, 68, 80, 25 • B-arbre (ordre=5) • Min=2 données; Max=4 données . 23. 45. 68. 80. 12. 45. . 12. 23. . 68. 80. 50, 54. 45. . 12. 23. . 50. 54. 68. 80.
Arbres de recherche m-aire . 45. . 12. 23. . 50. 54. 68. 80. 20, 92. 45. 68. . 12. 20. 23. . 50. 54. . 80. 92. 48, 63, 60. 45. 54. 68. . 12. 20. 23. . 48. 50. . 60. 63. . 80. 92.
Hachage Rangement des données dans un tableau � Rangement séquentiel( O(n) ) � Rangement ordonné ( O(Log(n) ) � Rangement aléatoire ou Hachage (Comme une 3 ième possibilité avec O(1) � Technique : ü Transformer la donnée K par une fonction f. ü f(K) est alors l'emplacement où sera rangée la donnée K. � Le problème : Impossible de trouver une fonction bijective (paradoxe de l'anniversaire) � Existence de techniques de résolution des collisions.
Hachage : Techniques de résolution des collisions Essai linéaire (L) En cas de collision sur la case k, utilisation de la séquence cyclique K-1, . . . , 0, M-1, M-2, . . . K+1 Double hachage (D) : - généralisation de l’essai linéaire - pas calculé par une autre fonction de hachage) Chainage interne (I) : chaîner les groupes de synonymes à l’intérieur de la table Chainage séparé (S) : chaîner les synonymes à l’ extérieur de la table
Hachage : Synthèse Pas d’ordre Insertions contrôlées Données statiques S>C>D>L
Pré-requis : Structures de fichiers
Structure d’un disque
Organisation d’un fichier sur le disque Etendue = clusters contigus Cluster (lecture sans bouger la tête de Lect/Ecrit) Secteur : unité de transfert RAM Disque Secteur Secteur Secteur Fichier = plusieurs étendus dispersés
Organisation d’un fichier sur le disque Bloc = n secteurs ( un cluster de préférence) Fichier = ensemble de blocs Fragmentation interne : Présence de "trous" dans les blocs Fragmentation externe : Présence de blocs entièrement vides
Organisation interne d’un fichier Bloc = n articles Article = Ensemble de champs formant une même entité Format des articles : fixe ou variable Si format variable : -Indicateur de longueur ( nombre d'octets ) Chevauchement éventuel des articles sur les blocs
Méthode d’accès Tableaux, listes Indexes simples Hachage Arbre de recherche m-aire B-arbres
Structure d’un fichier Organisation du fichier : Comment distinguer un article d'un autre Méthode d'accès du fichier : Approche utilisée pour localiser un article dans le fichier. Structure du fichier
Mesure d’une structure de fichier Taux d'occupation: 70 % : un bon compromis Nombre d'accès disque : viser un accès Réaction de la méthode aux pannes systèmes Encombrement et complexité des algorithmes
Structure simples de fichiers Tableau Ordonné, format fixe des articles T Liste non ordonné, format variable des articles, chevauchement non permis O F L V O F V F V Etc.
Indexes simples • 2 fichiers sont utilisés : fichier d'index et fichier de données. • En règle générale, le fichier de données n'est pas trié. • Fichier de données = Structure simple de fichier non ordonné (tableau ou une liste linéaire chainée). • Fichier d'index = Tableau ordonné (selon les clés) en mémoire. (recherche dichotomique en mémoire).
Indexes simples : variante 1 • Fichier de données non ordonné. • Fichier d'index ordonné chargé en mémoire dans un tableau (contient toutes les clés) 43 15 Fichier d’index 18 32 … 43 15 18 32 65 12 22 55 58 Fichier de données 35 72 78 99 19 93
Indexes simples : variante 2 Fichier de données non ordonné. Fichier d’index ordonné maintenu sur le disque (contient toutes les clés) [ Dense index ] Fichier d’index (12, . ) (15, . ) (18, . ) (19, . ) (22, . ) 43 15 18 32 65 12 (32, . ) (35, . ) …. . 22 55 58 Fichier de données 35 72 78 99 19 93
Indexes simples : variante 3 Fichier de données ordonné. Fichier d’index ordonné maintenu sur le disque (ne contient pas toutes les clés) [ Sparse index ] Fichier d’index (13, . ) (32, . ) (53, . ) 13 15 18 (68, . ) (93, . ) 32 35 38 53 55 58 Fichier de données 68 72 78 93 96 99
Arbre de recherche m-aire Méthode d'accès = ARM avec Ordre > 100. Un nœud = un bloc sur le disque. Bloc= cluster (unité d’entrée/sortie) Avantages: Pas de problème de taille Fichier ordonné Inconvénients: - Destinés pour les fichiers statiques - Déséquilibre de l’ ARM (Pas de solution Réorganisation périodique
Arbre de recherche m-aire Implémentation des ARM : 2 façons de ranger les articles : (i) dans les nœuds avec les clés, (fichier de données = ARM) (ii) séparément. Pointeur additionnel vers l'information. (fichier = index vers un fichier de données ) (S 1, (Clé 1, Article 1), S 2, . . . . , (Clén-1, Articlen-1), Sn) (S 1, (Clé 1, Adresse 1), S 2, . . . . , (Clén-1, Adressen-1), Sn) Si le fichier est grand : utilisation de (ii) Bloc=4 K Clé= 4 octets Adresse= 4 octets Si=4 octets Article=200 octets (i) Ordre=20 (ii) Ordre= 341
Hachage But : Accélérer l’accès à l’information Le fichier = tableau de M blocs // Bloc= b articles. Une collision apparaît quand plus de b articles ont la même adresse de bloc. Nécessite une phase d’initialisation de tous les blocs Méthodes intéressantes sur le disque : - Essai linéaire (Contiguïté physique des blocs) - Chainage séparé (Débordements dans un même cylindre(ou cylindres voisins) Avantages - Pas de mémoire pour l'index. - Facilitent les opérations. - Temps d'accès < inférieur à 2. - Efficaces pour les fichiers statiques. Inconvénients : Ne répondent pas aux fichiers dynamiques Fichiers désordonnés.
Hachage Blocs Essai linéaire 0 1 2 …. . Zone primaire et de débordement M-1 Zone primaire: M blocs Chainage séparé 0 1 2 M-1 …. . Zone de débordement (même cylindre)
- Zegour djamel eddine
- Docteur kati
- Tu nous a donné
- Le pain de ta vie
- Avances de los aztecas
- Cuales fueron los avances científicos de los mayas
- 10 avances tecnologicos 2019
- Avances tecnologicos
- Adelantos tecnicos del siglo xv
- Avances resultados preliminares
- Qué son los infrasonidos ejemplos
- Zegour.esi
- Zegour
- Zegour esi
- Zegour
- Zegour
- Zegour
- Homologous structures examples
- Introduction to data structures
- Introduction to data structures
- Introduction paragraph structure
- Gcse computer science wjec
- While loops and if-else structures
- Froude's number
- Virtualization ppt
- Hardware and control structures
- Short saphenous vein course
- Parts of a root system
- Uterus is a pear-shaped
- Pre-bureaucratic structures
- Forces on structures grade 5
- Vestigial organs
- Which nims command and coordination structures
- Analogous structures vs homologous
- Solution transition words
- Respiratory zone structures
- The hormone adrenaline can affect only cells with *
- Branches of common femoral artery
- Female external reproductive system
- Social structures examples