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
D. E ZEGOUR Institut National d ’Informatique
Introduction à l’Algorithmique
Distributed Compact Trie Hashing Proposé par D.E ZEGOUR.
Witold Litwin Structures physiques Witold Litwin
CHAPITRE 2 Plan 1 INTRODUCTION
PBST*: une nouvelle variante des SDDS
RECURSIVITE ARBRES BINAIRES
II. Chaînage, SDD séquentielles
Bases de données lexicales
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)
LES ARBRES IUP 2 Génie Informatique
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
8 Organisations unidimentionnelles : indexage et hachage
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
Indexes à Arbres et Indexes à Hachage
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Gestion de Fichiers Hachage Extensible.
Gestion de Fichiers Hachage.
Indexes à Arbres et Indexes à Hachage
Gestion de Fichiers Hachage (suite). 2 Plan du cours daujourdhui Prédiction de la distribution des enregistrements Réduction des collisions en augmentant.
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 : Hachage dynamique
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 : Introduction
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Arbres binaires et tables de hachage
D. E ZEGOUR Institut National d ’Informatique
II. Chaînage, SDD séquentielles
Structures de données avancées : Fichiers uni-dimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Gestion de Fichiers Hachage (suite et fin). 2 Plan du cours d’aujourd’hui Utilisation des “buckets” Effacements dans des fichiers hachés Autres méthodes.
GF-11: Tri Interne Efficace et Tri Externe
Structures de données avancées : MBT ( Multidimensional B-trees )
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 de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
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 : Variantes des B arbres
1 UMLV  FICHIERS Mémoire de masse découpée en blocs Fichier :liste chaînée de blocs, ou arbre de blocs (répertoires - fichiers)‏ Bloc d’éléments Bloc.
Système de gestion fichiers
Structures de données avancées : Range Partionning: RP*
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
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 : MTH ( Multidimensional trie hashing ) D. E ZEGOUR Institut National d ’Informatique.
 Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
Memoire.
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.
Ali walid A-2002 Plan: Fichier d’organisation séquentielle indexée (index statique)... 1 – Introduction 2 - La technique de l’accès indexé : 2 – 1 - Les.
. Le B-Arbre.
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Chapitre 12 Surveillance des ressources et des performances Module S41.
La compression de données
Transcription de la présentation:

Structures de données avancées : Hachage dynamique ZEGOUR Institut National d ’Informatique

Hachage dynamique Introduction Utilisation très fréquente des fichiers dynamiques  Donc 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. En bref, les débordements restaient toujours une fonction croissante du nombre d'insertions.

Hachage dynamique Du hachage classique au hachage dynamique 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 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 avec les premières propositions de Litwin et Larson. Depuis, plusieurs techniques d'accès basées sur ce principe ont été développées et ont fait du hachage dynamique un outil puissant dans la réalisation des systèmes de gestion de fichiers. Certaines de ces techniques 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. 2. Sous la même condition, une clé peut généralement ê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) 3. On peut construire des fichiers dynamiques ordonnés et de fichiers multidimensionnels où - il n‘ y a pas d'index. - une recherche prend 1 accès (IH : Hachage par interpolation)

Hachage dynamique Quelques résultats remarquables 4. On peut construire de très grands fichiers dynamiques et ordonnés dans lesquels une recherche prend au plus 1 accès. ( TH : Hachage digital ) 5. Même si le fichier devient très large, une recherche de clé peut être trouvée en 2 accès au plus. (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.