đïž Table de hachage
đŻ Objectifs pĂ©dagogiquesâ
- Comprendre le fonctionnement d'une table de hachage.
- Savoir implémenter une table de hachage en Python.
- Savoir insérer, supprimer et rechercher des éléments efficacement.
đ ĂnoncĂ©â
Vous allez crĂ©er une table de hachage (HashTable), câest-Ă -dire une structure de donnĂ©es qui permet dâassocier des clĂ©s Ă des valeurs, avec des opĂ©rations rapides dâinsertion, de suppression et de recherche.
đ§© Partie 1 â ImplĂ©mentation de la structureâ
-
Implémentez une classe
HashTable
avec :- une structure interne pour stocker les paires clé/valeur (par exemple, une liste de listes pour gérer les collisions par chaßnage),
- une méthode
insert(key, value)
pour ajouter ou mettre à jour une paire clé/valeur, - une méthode
lookup(key)
pour rechercher la valeur associée à une clé, - une méthode
delete(key)
pour supprimer une clé et sa valeur associée, - une méthode
contains(key)
qui retourneTrue
si la clé est présente dans la table, sinonFalse
.
-
GĂ©rez les collisions Ă lâaide du chaĂźnage.
đ§Ș Partie 2 â Tests et dĂ©monstrationâ
Créez des tests pour vérifier le bon fonctionnement de votre implémentation. Par exemple :
-
Insérez les paires suivantes dans la table :
("pomme", 1)
,("banane", 2)
,("orange", 3)
,("kiwi", 4)
-
Vérifiez la présence de certaines clés avec
contains
. -
Supprimez une clĂ©, puis vĂ©rifiez quâelle nâest plus prĂ©sente.
-
Testez lâinsertion dâune clĂ© dĂ©jĂ existante (mise Ă jour de la valeur).
đ Pour vous aiderâ
Si vous ĂȘtes bloquĂ©, voir les ressources sur indiquĂ©es dans la planification de la semaine.
Attention, ne pas simplement copier-coller le code de ces ressources. Essayez de l'Ă©crire par vous-mĂȘme en vous inspirant des exemples.