Sobes.tech
Junior

O que é uma tabela hash?

sobes.tech IA

Resposta da IA

Uma tabela hash é uma estrutura de dados que implementa um array associativo (dicionário). Ela armazena pares de "chave-valor", onde as chaves são únicas.

Princípios básicos:

  • Função hash: Converte a chave em um número (código hash ou índice). Este índice indica o local de armazenamento do valor na matriz (cesto).
  • Matriz (cestos): Armazenamento real dos pares "chave-valor".
  • Colisões: Situação em que chaves diferentes geram o mesmo código hash.

Solução para colisões:

  • Método de encadeamento (Separate chaining): Cada cesto armazena uma lista (ou outra estrutura de dados) de elementos com o mesmo código hash.
  • Endereçamento aberto (Open addressing): Em caso de colisão, a busca por um cesto livre é feita usando diferentes estratégias (sondagem linear, sondagem quadrática, duplo hashing).

Características:

  • Acesso rápido: No caso ideal O(1) para operações de inserção, busca e remoção.
  • Dependência da função hash: A qualidade da função hash e a estratégia de resolução de colisões influenciam bastante o desempenho.
  • Uso de memória: Requer memória adicional para a matriz de cestos.

Uso em QA:

  • Armazenamento de dados de teste (chave - nome do parâmetro, valor - valor esperado ou real).
  • Verificação da unicidade dos elementos (por exemplo, IDs de usuários).
  • Implementação de caches.