Tables de hachage en javascript | Expliqué

Tables de hachage en javascript | Expliqué
Les structures de données sont utilisées dans la programmation informatique pour organiser des données et appliquer des algorithmes pour le codage. Par conséquent, la compréhension des structures de données et des algorithmes est bénéfique pour la résolution de problèmes et est nécessaire pour passer des entretiens de codage.

Cet article discutera de l'une de ces principales structures de données appelées «Table de hachage«Cela est considéré comme idéal pour stocker une grande quantité de données. Tables de hachage peut également être utilisé pour représentation de données unique, indexation de la base de données, recherche dans non trié ou trié tableaux.

Maintenant, plongeons profondément dans le travail et la mise en œuvre des tables de hachage en javascript.

Tables de hachage en javascript

En JavaScript, un «table de hachage"Est une structure de données qui peut être utilisée pour cartographier les clés de leurs valeurs spécifiées. Il est également connu comme un «carte de hachage". Les tables de hachage effectuent efficacement l'opération d'insertion et de suppression pour une paire de valeurs de clé et recherchez la valeur d'une clé dans un tableau de hachage.

Composants des tables de hachage en javascript

Il existe deux composantes des tables de hachage en javascript: un «objet» et une «fonction de hachage»:

  • Objet: Un objet contient la table de hachage dans laquelle les données sont stockées. Il tient tous les «valeur clé”Paires de la table de hachage. De plus, sa taille doit être déterminée par la taille des données attendues.
  • Fonction de hachage: Une fonction de hachage est définie pour une table de hachage pour découvrir le «indice”De la paire de valeurs clés donnée. Cette fonction accepte un «clé"Comme entrée, puis attribue un" spécifique "indice»Et définit cela comme le cas de retour.

Jusqu'à ce point, vous avez compris le concept de tables de hachage en JavaScript. Maintenant, dirigeons-nous vers son côté de la mise en œuvre.

Comment implémenter des tables de hachage en javascript

Pour la mise en œuvre de base des tables de hachage en JavaScript, vous devez effectuer ces trois opérations:

  • Premièrement, créer un classe pour la table de hachage.
  • Définir un fonction de hachage.
  • Définir une méthode pour ajouter des paires de valeurs clés pour les tables de hachage.

Nous allons entrer dans la première opération et créer un «Hachage”Classe dans notre programme JavaScript.

Étape 1: Créez une classe pour la table de hachage

Notre "Hachage"La classe comprend un suivant"constructeur", Dans lequel nous avons déclaré«objet", c'est "longueur", Et la table de hachage"taille»:

classe hashtable
constructeur ()
ce.object = ;
ce.taille = 0;
ce.longueur = 0;

Étape 2: Définissez une fonction de hachage

Dans la prochaine étape, nous définirons un «hashfunc ()"Fonction de hachage qui accepte"clé«Comme argument et calcule son«module arithmétique»Et renvoyez la valeur résultante:

hashfunc (key)
clé de retour.toString ().longueur% ceci.taille;

Dans notre "Hachage"Classe, nous allons maintenant ajouter une fonction nommée"addpair ()”Pour ajouter les paires de valeurs de clé à la table de hachage.

Étape 3: Définissez une méthode pour ajouter des paires de valeurs clés pour les tables de hachage

Dans ce qui suit "addpair ()«Fonction, la première opération qui va être effectuée est le calcul de«hacher«Pour la clé spécifiée comme argument, avec l'aide du«hashfunc ()" fonction.

Ensuite, un «si»La condition vérifie si le calculé«hacher"N'existe pas déjà dans le"objet», Puis stocke le hachage. Après cela, les stockés «hacher"Sera testé que s'il ne contient pas"clé", Puis incrément la longueur"objet"Et ajoutez le"valeur clé”Paire à l'objet de table de hachage:

addPair (key, valeur)
const hash = ceci.hashfunc (clé);
si (!ce.objet.HasownProperty (hash))
ce.objet [hash] = ;

si (!ce.objet [hachage].HasownProperty (Key))
ce.longueur ++;

ce.objet [hash] [key] = valeur;

Vous voulez rechercher une clé dans la table de hachage? À cette fin, vous devez définir un «SearchFunction ()" dans ton "Hachage" classe. Ce "SearchFunction ()«Acceptera un«clé«Comme argument et calculer son«hacher"En utilisant le"hashfunc ()«Fonction de hachage.

Après cela, un «si"Une condition est ajoutée dans le"SearchFunction ()"Qui valide si la table de hachage"objet"A le calculé"hacher"Et le spécifié"clé"Existe pour ça"hacher". Donc, au cas où l'ajout "si"La déclaration évalue être"vraie», Alors la valeur stockée pour l'argument passé sera retourné:

searchFunction (key)
const hash = ceci.hashfunc (clé);
si ce.objet.HasownProperty (Hash) && this.objet [hachage].HasownProperty (Key))
retourner ceci.objet [hash] [key];
autre
retourner null;

Ajoutez toutes les fonctions ci-dessus dans votre "Hachage”Classe puis créez une instance pour utiliser les fonctions définies:

const hashTable = new HashTable ();

Maintenant, nous allons ajouter les trois suivants "suivants"valeur clé"Paires dans notre créé"hachage" objet:

hachage.addPair ("Alex", "01");
hachage.addpair ("Stepheny", "23");
hachage.addpair ("max", "90");

Enfin, nous utiliserons le «SearchFunction ()«Pour trouver la valeur du«Stepheny" clé:

console.journal (hashtable.SearchFunction ("Stepheny"));

La sortie donnée signifie que nous avons réussi à récupérer la valeur de la clé spécifiée à partir de la table de hachage:

C'était toutes les informations essentielles liées aux tables de hachage en javascript. Vous pouvez approfondir les recherches en fonction de vos exigences.

Conclusion

Table de hachage dans Javascrip est une structure de données qui peut être utilisée pour cartographier les clés de leurs valeurs spécifiées. Il est principalement basé sur deux composants: un objet et une fonction de hachage, où l'objet contient la table de hachage dans laquelle les données sont stockées et contient tous les «valeur clé«Paies de la table de hachage, et la fonction de hachage est utilisée pour déterminer le«indice”De la paire de valeurs de clé spécifiée. Cet article a discuté du concept de tables de hachage en javascript.