Voici une explication traduction en termes usuels.
Supposons que vous voulez remplir une bibliothèque de livres, et pas juste des trucs dans, mais vous voulez être en mesure de facilement les retrouver quand vous en avez besoin.
Alors, vous décidez que si la personne qui veut lire un livre connaît le titre du livre, et le titre exact de démarrage, alors que c'est tout ce qu'il doit prendre. Avec le titre de la personne, avec l'aide de la bibliothécaire, devrait être en mesure d'aller trouver le livre facilement et rapidement.
Alors, comment pouvez-vous faire? Bien, évidemment, vous pouvez garder une sorte de liste de où vous mettez chaque livre, mais ensuite, vous avez le même problème que la recherche de la bibliothèque, vous devez rechercher dans la liste. Accordé, la liste serait smallers, et de faciliter la recherche, mais encore, vous ne souhaitez pas rechercher de manière séquentielle à partir d'une extrémité de la bibliothèque (ou une liste) à l'autre.
Vous voulez quelque chose qui, avec le titre de l'ouvrage, peut vous donner le bon endroit à la fois, de sorte que tous vous avez à faire est de tout simplement vous balader sur le côté de la tablette, et de ramasser le livre.
Mais comment peut-il se faire? Bien, avec un peu de prévoyance lorsque vous remplissez la bibliothèque, et en fait, beaucoup de travail quand vous remplissez la bibliothèque.
Au lieu de juste de commencer à remplir la bibliothèque à partir d'une extrémité à l'autre, vous concevoir un astucieux petit méthode. Vous prenez le titre du livre, le lancer à travers un petit programme informatique, qui crache un nombre d'étagère et d'un numéro d'emplacement sur cette étagère. C'est l'endroit où vous placez le livre.
La beauté de ce programme est que plus tard, quand une personne revient à lire le livre, vous nourrissez le titre par le programme une fois de plus, et obtenir le même nombre d'étagère et le numéro de l'emplacement que vous avez été donné à l'origine, et c'est là où le livre se trouve.
Le programme, comme d'autres l'ont déjà mentionné, est appelé un algorithme de hachage hachage ou de calcul, et travaille généralement en prenant les données de la fed (le titre du livre dans ce cas) et calcule un certain nombre de.
Pour simplifier, disons qu'elle transforme chaque lettre et le symbole en un certain nombre, et le sommes tous. En réalité, c'est beaucoup plus compliqué que cela, mais nous allons en rester là pour l'instant.
La beauté d'un tel algorithme est que si vous nourrissez la même entrée en elle, encore et encore, il continuera de cracher le même nombre à chaque fois.
Ok, donc c'est essentiellement la manière d'une table de hachage œuvres.
Trucs techniques qui suit.
Tout d'abord, il y a la taille de la nombre. Généralement, la sortie d'un tel algorithme de hachage est à l'intérieur d'une gamme de quelques grand nombre, généralement beaucoup plus grand que l'espace que vous avez dans votre tableau. Par exemple, disons que nous avons de la place pour exactement un million de livres dans la bibliothèque. La sortie de la table de hachage de calcul pourrait être dans la gamme de 0 à un milliard de dollars, beaucoup plus élevé.
Alors, que faisons-nous? Nous utilisons quelque chose qui s'appelle le module de calcul, qui dit essentiellement que si vous compté le nombre que tu voulais (ie. l'un milliard de nombre), mais a souhaité rester à l'intérieur d'un éventail beaucoup plus petite, à chaque fois que vous atteignez la limite de la plus petite de la gamme, vous avez commencé à revenir à 0, mais vous devez garder une trace de la façon dont beaucoup dans le grand de la séquence que vous venez.
Dire que la sortie de l'algorithme de hachage est dans la gamme de 0 à 20, et vous obtenez la valeur de 17 à partir d'un titre particulier. Si la taille de la bibliothèque est à seulement 7 livres, vous comptez 0, 1, 2, 3, 4, 5, 6, et quand vous arrivez à 7, vous commencer à 0. Depuis que nous avons besoin de compter 17 fois, nous avons 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, et le nombre final est de 3.
Bien sûr, le module de calcul n'est pas fait comme ça, c'est fait avec de la division, et le reste. Le reste de la division 17 par 7 à 3 (7 va 2 fois en 17, à 14 ans, et la différence entre le 17 et 14 3).
Ainsi, vous avez mis le livre dans le logement nr. 3.
Cela conduit à un autre problème. Les Collisions. Depuis que l'algorithme n'a aucun moyen d'espacer les livres afin qu'ils remplissent la bibliothèque exactement (ou de la table de hachage si vous voulez), il sera, au final, le calcul d'un nombre qui a été utilisé avant. Dans la bibliothèque de sens, quand vous arrivez à la tablette et le numéro de l'emplacement que vous souhaitez faire un livre, il y a déjà un livre.
Divers collision méthodes de manipulation existent, y compris l'exécution des données dans encore un autre mode de calcul pour obtenir une autre place dans la table, ou tout simplement de trouver un espace proche de celui que vous (c'est à dire juste à côté du livre précédent). Cela signifie que vous avez un peu de temps à le faire lorsque vous essayez de trouver le livre plus tard, mais c'est toujours mieux que de simplement en commençant à une extrémité de la bibliothèque.
Enfin, à un certain moment, vous pouvez mettre plus de livres dans la bibliothèque de la bibliothèque permet, en d'autres termes, vous avez besoin pour construire une grande bibliothèque. Depuis l'endroit exact de la bibliothèque a été calculée à l'aide de la réponse exacte et à jour, la taille de la bibliothèque, il va suivre que si vous redimensionnez la bibliothèque, vous pourriez avoir à trouver de nouveaux spots pour tous les livres, puisque le calcul fait pour trouver leurs taches a changé.
J'espère que cette explication était un peu plus terre à terre que des seaux et des fonctions :)