Qu'est-seau “entrées” dans le contexte d'une table de hachage?
Ce n'seau "entrées" dans le contexte d'une table de hachage?
double possible de Comment fonctionne une table de hachage de travail?
Ne les croyez pas -- seau "entrées" sont ce que les tables de hashage faire avant d'être libéré.
Ne les croyez pas -- seau "entrées" sont ce que les tables de hashage faire avant d'être libéré.
OriginalL'auteur user1072898 | 2012-01-31
Vous devez vous connecter pour publier un commentaire.
Un seau est tout simplement un accès simple et rapide de l'emplacement (comme un tableau d'index) qui est le résultat de la fonction de hachage.
L'idée avec le hachage est à son tour un complexe de la valeur d'entrée en une valeur différente qui peut être utilisé pour rapidement extraire ou de stocker des données.
Envisager la suite de fonction de hachage pour le mappage des noms de personnes dans la rue des adresses.
D'abord prendre de l'écrit en minuscule initiales du prénom et du nom, et de les transformer à la fois en valeurs numériques (de 0 à 25, à partir de 'a' à 'z'). Multiplier la première par 26 et ajouter le second, et cela vous donne une valeur de 0 à 675 (26 * 26 valeurs distinctes, ou un seau Id).
Ce seau ID est ensuite utilisé pour stocker ou récupérer les informations. Maintenant vous pouvez avoir une parfaite hachage (où chaque déductibles de la valeur d'entrée des cartes pour un distinctes seau ID) ainsi qu'un tableau simple suffira pour les seaux. En d'autres termes, vous maintenir un réseau de 676 rue des adresses et utiliser le seau ID pour trouver celui que vous voulez:
Ou vous pouvez avoir un imparfaite de hachage (comme celui où John Smith et Jane Seymour allait se retrouver avec le même seau ID).
Dans ce cas, vous avez besoin de plus en plus complexes, la sauvegarde de la structure de données qu'un simple tableau, afin de maintenir un collection d'adresses. Cela pourrait être aussi simple que d'une liste liée, ou aussi complexe qu'encore un autre hash:
Alors, ainsi que le hachage initial de recherche, un niveau supplémentaire de la recherche doit être effectuée dans le seau lui-même, à trouver l'information spécifique.
OriginalL'auteur paxdiablo
De Wikipedia:
Chaque entrée de la matrice/vecteur est appelé comme un Seau.
OriginalL'auteur Alok Save
Je pense que Seau est une structure d'au moins contenir la valeur de hachage, ce qui fonctionne comme les index, (les valeurs de hachage sont générés par les fonctions de hachage), mais la structure elle-même peut contenir des entrées (données) ou non.
illustration:
[valeur de hachage][points de données réelles] ---> [données réelles]
|<------------seau structure------>|
[valeur de hachage][données réelles]
|-----seau structure--->|
C'est la [valeur de hachage] une partie des œuvres que l'index.
J'ai trouvé ces photos de hash_table Wikipédia sont assez simple.
Les photos ci-dessous indique que les entrées (données) peuvent être stockées dans des seaux ou il peut être stocké avec sa propre structure de données, tandis que le seau tout simplement des points de données.
OriginalL'auteur Rick
Les deux ressasser et se fondirent hachage assumer fixe dimensions de la table déterminé à l'avance. Si le nombre de dossiers de croître au-delà du nombre de positions de la table, il est impossible de les insérer sans allouer une table plus grande et recalcul de hachage.
Une autre méthode de résolution de hachage affrontements est séparé de chaînage. Terme Seau est généralement utilisé pour séparer le chaînage. Séparer le chaînage implique de tenir un distinct lié liste de tous les enregistrements dont les clés de hachage dans une valeur particulière.
Supposons que la fonction de hachage produit des valeurs entre 0 et taille_table - 1. Puis un tableau seau de l'en-tête de nœuds de taille taille_table est déclarée. Ce tableau est appelé table de hachage.
Seau[i], un seau d'entrée, points à la liste de tous les records qui a les clés de hachage dans je. Pour insérer un enregistrement, la liste de seau de tête[i] est accessible et l'enregistrement est inséré à la fin de la queue.
OriginalL'auteur Manjunatha S M