Tabela Hash


Uma tabela hash é uma estrutura de dados que funciona como um dicionário super eficiente, mapeando chaves para valores.

Uma tabela hash é uma estrutura que:

  • Armazena pares de chave-valor
  • Permite acesso rápido aos dados
  • Utiliza uma função de hash para determinar a posição de armazenamento

Principais Componentes

  1. Array de Armazenamento: A estrutura base onde os dados são guardados
  2. Função Hash: Converte a chave em um índice do array
  3. Mecanismo de Tratamento de Colisões: Lida com situações onde diferentes chaves geram o mesmo índice

Vantagens

  • Acesso muito rápido aos dados (em média O(1))
  • Excelente para grandes conjuntos de dados
  • Ideal para operações de busca frequentes

Desvantagens

  • Pode consumir mais memória
  • Necessidade de uma boa função hash
  • Possibilidade de colisões

Exemplo em Java

import java.util.HashMap; // Implementação da tabela hash em Java
 
public class ExemploTabelaHash {
    public static void main(String[] args) {
        // Criando uma tabela hash
        HashMap<String, Integer> idades = new HashMap<>();
        
        // Inserindo dados
        idades.put("João", 25);
        idades.put("Maria", 30);
        idades.put("Pedro", 35);
        
        // Acessando dados
        System.out.println("Idade de Maria: " + idades.get("Maria")); // O(1)
    }
}

Referências


Aula 7 - Hash Table