Structures de données avancées : Hachage dynamique

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

Structures de données avancées : Principales structures de fichiers
Structures de données avancées : B arbres
Structures de données avancées : Principales structures de données
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)
Structures de données avancées : MBT ( Multidimensional B-trees )
Structures de données avancées : MTH ( Multidimensional trie hashing )
Structures de données avancées : Introduction
Traitement sémantique et grammaire dattributs Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)
Sémantique des déclarations pour le langage Z minimal
D. E ZEGOUR Institut National d ’Informatique
Distributed Compact Trie Hashing Proposé par D.E ZEGOUR.
Witold Litwin Structures physiques Witold Litwin
PBST*: une nouvelle variante des SDDS
Bibliothèque standard du C++
II. Chaînage, SDD séquentielles
Gestion de Fichiers Arbres B.
Indexation 1. Concepts de base 2. Arbre B 3. Indexes secondaires.
Sections sélectionnées du Chapitre 11
Les fichiers indexés (Les B-arbres)
Structures de données IFT-10541
8 Organisations unidimentionnelles : indexage et hachage
Gestion de Fichiers Hachage Extensible.
Séance d’introduction
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) Plate-forme.NET.
1 Organisations unidimentionnelles : indexage et hachage  Sélection basée sur une clé d'accès  recherche associative  Ex: Chercher le plant dont le.
Structures de données avancées : Arbres AVL & Arbres Rouge et Noir
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures complexes Pr ZEGOUR DJAMEL EDDINE
Expressions logiques Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Arbres Red-Black
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Introduction
Procédures et fonctions Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Listes linéaires chaînées Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Fichiers distribués
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Tables de compilation pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Arbres binaires et tables de hachage
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Le langage Z minimal Pr ZEGOUR DJAMEL EDDINE
D. E ZEGOUR Institut National d ’Informatique
Structures de données avancées : Fichiers uni-dimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Arbres ‘Left Leaning Red-Black’
Structures de données avancées : MBT ( Multidimensional B-trees )
L’analyse lexicale Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Concepts du Multidimensionnel D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Arbres AA
Structures simples et tableaux Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Interprétation/Génération de code pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Expressions sur les chaînes de caractères Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
La Gestion des fichiers
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : B arbres
Structures de données avancées TH ( Hachage digital ) D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Principales structures de fichiers
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) C O M P I L Z.
Structures de données avancées : LH* D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : MLH (Multidimensional linear hashing) D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Introduction D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Principales structures de données
Structures de données avancées : Hachage dynamique
Structures de données avancées : MTH ( Multidimensional trie hashing ) D. E ZEGOUR Institut National d ’Informatique.
Organisation de la mémoire pour le langage minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Transcription de la présentation:

Structures de données avancées : Hachage dynamique Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) www.zegour.uuuq.com email: d_zegour@esi.dz

Hachage dynamique Introduction Hachage classique limité aux fichiers statiques  domaines d’utilisation restreints. La plupart des applications utilisent les fichiers dynamiques  maintenir un bon accès et un bon chargement du fichier quand le fichier se développe ou se rétrécie.

Hachage dynamique Avant les années 80 Arbres B et ses variantes. (2 à 3 accès disque, Facteur de chargement aux environs de 70%, Fichier dynamique et ordonné) Ces propriétés font des arbres B l'une des structures de fichiers les plus populaires.

Hachage dynamique A partir des années 80 Les fichiers dynamiques peuvent être construits avec le hachage La nouvelle approche d'utilisation du hachage est appelée hachage dynamique ( hachage extensible ou hachage virtuel) Les possibilités de cette approche sont étonnantes car incapable de les croire avant les années 80 ( 55 à 80 ).

Hachage dynamique Du hachage classique au hachage dynamique Le hachage classique (au sens de KNUTH) suppose que la fonction de hachage est statique. Toute recherche de données est basée sur la même fonction dont le nombre d'adresses possibles est constant. Toute collision conduit à la création d'un débordement faisant ainsi décroître les performances d'accès. Tout algorithme apparu sur le hachage a permis tout simplement de minimiser cette détérioration.

Hachage dynamique Du hachage classique au hachage dynamique Les débordements restaient toujours une fonction croissante du nombre d'insertions. La conception du hachage dynamique avait mis fin à ces idées admises depuis vingt cinq années ( 55 à 80 ). L'idée principal : changement dynamique de la fonction d'accès

Hachage dynamique Du hachage classique au hachage dynamique Une insertion ou une suppression peut commencer par une fonction de hachage et terminer par une autre. En plus, l'espace des adresses possibles n'est plus limité. Le hachage dynamique fournit de bonnes performances de recherche et un facteur de chargement élevé indépendamment de la taille du fichier et sans réorganisation périodique.

Hachage dynamique Hachage dynamique Naissance dés l'année 78 ( Litwin et Larson ) Depuis, plusieurs méthodes ont été développées Certaines de ces méthodes préservent également l'ordre des articles.

Hachage dynamique Quelques résultats remarquables 1. Quelque soit le nombre d'insertions, une clé peut être trouvée en 1 accès (LH : Hachage linéaire) 2. Quelque soit le nombre d'insertions, une clé peut être trouvée en 1 accès, alors que le facteur de chargement peut rester égal à une valeur arbitraire dépassant les 95%. (LH : Hachage linéaire contrôlé) 3. On peut construire des fichiers dynamiques ordonnés et de fichiers multidimensionnels sans index et une recherche prend 1 accès (IH : Hachage par interpolation)

Hachage dynamique Quelques résultats remarquables 4. On peut construire de grands fichiers dynamiques et ordonnés dans lesquels une recherche prend au plus 1 accès. ( TH : Hachage digital ) 5. On peut construire de très grands fichiers dynamiques et ordonnés dans lesquels une recherche prend au plus 2 accès. (Hachage digital multi-niveaux)

Hachage dynamique Notion de fonction de split (division)   Soit C l'espace des clés. Soit h0 une fonction de H-code produisant N adresses : N > 0. Les fonctions de H-codes h1, h2, ..., hn sont des fonctions de split (division) pour h0 si pour toute clé c - hi : C ----> {0, 1, ..., 2i.N - 1}   - hi (c) = hi-1 (c) ou bien hi (c) = hi-1 (c) + 2i-1 N Exemple : hi (c) = c Mod 2i N

Hachage dynamique Utilisation d'un arbre digital Fonction d'accès : arbre digital (structure de donnée compacte) Aussi longtemps que l'arbre peut rester en mémoire, toute recherche d'enregistrement aboutit en un accès disque au plus.