2009-10-25 3 views
0

Si j'utilise un tableau de liste chaînée pour implémenter une table de hachage, la fonction "remove" peut nécessiter de traverser une "chaîne".C++ HashTable Question

Est-ce également vrai pour "suppression"?

Répondre

1

Bien sûr, cela s'applique à tout ce que vous essayez de faire avec la table de hachage. Supprimer, supprimer (ce qui me semble la même chose), insérer, rechercher, vous l'appelez.

+0

Et si j'utilise un tableau de liste liée pour implémenter une table de hachage, ma fonction, "ajouter", pourrait être implémentée d'une manière qui ne nécessite pas de sondage ??? – user40120

+0

Oui, je suppose que c'est vrai, aussi longtemps que vous êtes prêt à utiliser la recherche linéaire sur les chaînes. Vous pourriez juste ajouter votre nouvel article à la tête de la chaîne. –

+0

Merci Carl, je n'ai qu'une dernière question: Quand et si j'utilise la méthode de la liste chaînée, aurai-je un accès direct au début de chaque chaîne individuelle? – user40120

1

Oui. Presque toute opération peut nécessiter de suivre ces chaînes. La clé consiste à sélectionner une taille de table et une fonction de hachage telles que les chaînes soient généralement courtes (idéalement, la quasi-totalité d'entre elles ne doit pas contenir plus d'un élément).