Tabelas de hash em JavaScript | Explicado

Tabelas de hash em JavaScript | Explicado
As estruturas de dados são utilizadas na programação de computadores para organizar dados e aplicar algoritmos para codificação. Portanto, entender estruturas e algoritmos de dados é benéfico para a solução de problemas e é necessário para passar entrevistas de codificação.

Este artigo discutirá uma dessas principais estruturas de dados conhecidas como “Tabela de hash”Isso é considerado ideal para armazenar uma grande quantidade de dados. Tabelas de hash também pode ser usado para Representação de dados exclusiva, Indexação do banco de dados, procurando em não classificado ou classificado matrizes.

Agora, vamos mergulhar profundamente no trabalho e implementação de tabelas de hash em javascript.

Mesas de hash em javascript

Em JavaScript, um “tabela de hash”É uma estrutura de dados que pode ser utilizada para mapear as teclas para seus valores especificados. Também é conhecido como um “mapa de hash““. As tabelas de hash executam com eficiência a operação de inserção e exclusão para um par de valores-chave e pesquisam o valor de uma chave dentro de uma tabela de hash.

Componentes de tabelas de hash em javascript

Existem dois componentes de tabelas de hash em JavaScript: um "objeto" e uma "função de hash":

  • Objeto: Um objeto contém a tabela de hash na qual os dados são armazenados. Ele mantém todos os “valor chave”Pares da tabela de hash. Além disso, seu tamanho deve ser determinado pelo tamanho dos dados esperados.
  • Função hash: Uma função de hash é definida para uma tabela de hash para descobrir o “índice”Do par de valores-chave fornecido. Esta função aceita um “chave”Como entrada e depois atribui um“índice”E define isso como o caso de retorno.

Até este ponto, você entendeu o conceito de tabelas de hash em javascript. Agora, vamos em direção ao seu lado de implementação.

Como implementar tabelas de hash em javascript

Para a implementação básica de tabelas de hash em JavaScript, você precisa executar estas três operações:

  • Primeiramente, criar a aula Para a mesa de hash.
  • Definir a função hash.
  • Definir um método Para adicionar pares de valor-chave para as tabelas de hash.

Vamos entrar na primeira operação e criar um “Hashtable”Classe em nosso programa JavaScript.

Etapa 1: Crie uma classe para a tabela de hash

Nosso "Hashtable”A classe compreende a seguinte“construtor", No qual declaramos um"objeto", isso é "comprimento”, E a tabela de hash“tamanho”:

classe Hashtable
construtor ()
esse.objeto = ;
esse.tamanho = 0;
esse.comprimento = 0;

Etapa 2: Defina uma função de hash

Na próxima etapa, definiremos um “hashfunc ()”Função de hash que aceita“chave”Como argumento e calcula seu“Módulo aritmético”E retorne o valor resultante:

hashfunc (key)
chave de retorno.para sequenciar().comprimento % isso.tamanho;

Na nossa "Hashtable”Classe, agora adicionaremos uma função chamada“addPair ()”Para adicionar os pares de valor-chave à tabela de hash.

Etapa 3: Defina um método para adicionar pares de valor-chave para as tabelas de hash

Na sequência "addPair ()”Função, a primeira operação que será executada é o cálculo de“cerquilha”Para a chave especificada como um argumento, com a ajuda do“hashfunc ()”Função.

Em seguida, um “se”A condição verifica se a calculada“cerquilha"Ainda não existe no"objeto”Então então armazena o hash nisso. Depois de fazer isso, o armazenado “cerquilha”Será testado que, se não contiver nenhum“chave”, Então incrementa o comprimento“objeto”E adicione o“valor chave“Par de acordo com o objeto de tabela de hash:

addPair (chave, valor)
const hash = isto.hashfunc (chave);
se (!esse.objeto.HasownProperty (hash))
esse.objeto [hash] = ;

se (!esse.objeto [hash].HasownProperty (key))
esse.comprimento ++;

esse.objeto [hash] [key] = value;

Deseja procurar uma chave na tabela de hash? Para esse fim, você deve definir um “SearchFunction ()" na tua "Hashtable" aula. Esse "SearchFunction ()"Vai aceitar um"chave”Como argumento e calcule seu“cerquilha”Ao utilizar o“hashfunc ()Função de hash.

Depois disso, um “seA condição é adicionada na “SearchFunction ()”Que valida se a tabela de hash“objeto"Tem o calculado"cerquilha”E o especificado“chave”Existe para isso“cerquilha”. Então, caso o adicionado “se”A declaração avalia ser“verdade”Então, o valor armazenado para o argumento aprovado será devolvido:

SearchFunction (key)
const hash = isto.hashfunc (chave);
se este.objeto.HasownProperty (hash) && isto.objeto [hash].HasownProperty (key))
devolver isso.objeto [hash] [chave];
outro
retornar nulo;

Adicione todas as funções acima dadas em seu “Hashtable”Classe e, em seguida, crie uma instância para usar as funções definidas:

const hashtable = new Hashtable ();

Agora, adicionaremos os seguintes três “valor chave”Pares em nosso criado“hashtable”Objeto:

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

Por fim, utilizaremos o “SearchFunction ()”Para encontrar o valor do“Stepheny" chave:

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

A saída dada significa que recuperamos com sucesso o valor da chave especificada da tabela de hash:

Essa era todas as informações essenciais relacionadas às tabelas de hash em javascript. Você pode pesquisar ainda mais de acordo com seus requisitos.

Conclusão

Tabela de hash em JavaScript é uma estrutura de dados que pode ser utilizada para mapear as teclas para seus valores especificados. É baseado principalmente em dois componentes: um objeto e uma função de hash, onde o objeto contém a tabela de hash na qual os dados são armazenados e mantém todos os “valor chave”Pares da tabela de hash, e a função de hash é usada para determinar o“índice”Do par de valores-chave especificado. Este artigo discutiu o conceito de tabelas de hash em javascript.