From 9d5e2bb6a0c2e6a8f1962fc7b8c8af21ed55418b Mon Sep 17 00:00:00 2001 From: Emmanuel SRIVASTAVA TIAMZON Date: Wed, 7 Jan 2026 15:27:03 +0100 Subject: [PATCH] Upload files to "DEV.3.2/cours" --- DEV.3.2/cours/6.Dictionnaires.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 DEV.3.2/cours/6.Dictionnaires.md diff --git a/DEV.3.2/cours/6.Dictionnaires.md b/DEV.3.2/cours/6.Dictionnaires.md new file mode 100644 index 0000000..557ab8a --- /dev/null +++ b/DEV.3.2/cours/6.Dictionnaires.md @@ -0,0 +1,16 @@ +**Principe** +Un dictionnaire est une structure de données abstraite qui contient des associations entre une clé (de type `K`) et une valeur (de type `V`). Il supporte les opérations suivantes : + +- `put` ajoute une clé et sa valeur associé au dictionnaire. Si la clé est déjà associée à une valeur, celle-ci est remplacée. +- `get` renvoie la valeur associée à une clé donnée. Une erreur est rencontrée si la clé n'est pas présente. +- `remove` retire l'association liée à une clé donnée (si elle est présente). + +**En java** +L'interface `Map` représente un dictionnaire. `Map.Entry` représente une association contenant une clé et une valeur. Les méthodes `keySet` et `entrySet` produisent des ensembles qui peuvent être parcourus avec une boucle. Les classes `HashMap` et `TreeMap` sont des réalisations générales de cette interface. + +**Réalisation** +Une table de hachage est similaire à un fichier (le meuble). Dans un fichier il y a de nombreux tiroirs qui peuvent contenir plusieurs dossiers. Chaque tiroir est étiqueté avec la première lettre du nom des dossiers qu'il contient. Il est donc très facile de trouver le bon tiroir pour ajouter ou retirer un dossier. + +Une table de hachage utilise un tableau pour stocker ses associations. Une **fonction de hachage** permet de passer de la clé cherchée à l'indice correspond dans ce tableau (indice: utilisez `hashCode`). Dans la case obtenue, on trouve une liste chaînée où chaque maillon contient une association. + +Le taux de charge de la table (nombre d'éléments / capacité du tableau) ne devrait pas dépasser 75% pour garantir des performances optimales. \ No newline at end of file