Aller au contenu principal

đŸ—ƒïž 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​

  1. 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 retourne True si la clĂ© est prĂ©sente dans la table, sinon False.
  2. 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 :

  1. Insérez les paires suivantes dans la table :
    ("pomme", 1), ("banane", 2), ("orange", 3), ("kiwi", 4)

  2. Vérifiez la présence de certaines clés avec contains.

  3. Supprimez une clĂ©, puis vĂ©rifiez qu’elle n’est plus prĂ©sente.

  4. 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

Attention, ne pas simplement copier-coller le code de ces ressources. Essayez de l'Ă©crire par vous-mĂȘme en vous inspirant des exemples.