Tabelas Hash

2134 palavras 9 páginas
Tabelas Hash

As tabelas de hash são uma forma de organizar ou estruturar grandes quantidades de dados para armazenamento de informação de uma forma simples. Também conhecida como tabela de espalhamento, se baseia na idéia de associação de chaves de pesquisa(hash) a valores,ou seja,com uma chave simples,fazer uma rápida busca e encontrar os valores desejados. A função de espalhamento ou função hash é a responsável por gerar um índice a partir de determinada chave. Caso a função seja mal escolhida, toda a tabela terá um mau desempenho.
O ideal para a função de espalhamento é que sejam sempre fornecidos índices únicos para as chaves de entrada. A função perfeita seria a que, para quaisquer entradas A e B, sendo A diferente de B, fornecesse saídas diferentes. Quando as entradas A e B são diferentes e, passando pela função de espalhamento, geram a mesma saída, acontece o que chamamos de colisão.
Na prática, funções de espalhamento perfeitas ou quase perfeitas são encontradas apenas onde a colisão é intolerável (por exemplo, nas funções hash da criptografia), ou quando conhecemos previamente o conteúdo da tabela armazenada). Nas tabelas hash comuns a colisão é apenas indesejável, diminuindo o desempenho do sistema. Muitos programas funcionam sem que seu responsável suspeite que a função de espalhamento seja ruim e esteja atrapalhando o desempenho.
Por causa das colisões, muitas tabelas hash são aliadas com alguma outra estrutura de dados, tal como uma lista encadeada ou até mesmo com árvore AVL|árvores balanceadas. Em outras oportunidades a colisão é solucionada dentro da própria tabela.
Exemplo de função de espalhamento
Imagine que seja necessário utilizar uma tabela hash para otimizarmos uma busca de nomes de uma lista telefônica (dado o nome, temos que obter o endereço e o telefone). Nesse caso, poderíamos armazenar toda a lista telefônica em um vetor e criar uma função de espalhamento que funcionasse de acordo com o seguinte critério:

Para cada nome começado

Relacionados

  • Tabelas HASH
    1019 palavras | 5 páginas
  • Tabela hash
    510 palavras | 3 páginas
  • Tabela hash
    289 palavras | 2 páginas
  • Tabelas Hash
    1787 palavras | 8 páginas
  • Tabela Hash
    2579 palavras | 11 páginas
  • Tabela Hash
    1859 palavras | 8 páginas
  • Tabela hash
    14106 palavras | 57 páginas
  • PESQUISA TABELA HASH
    1659 palavras | 7 páginas
  • Exemplo tabela hash
    596 palavras | 3 páginas
  • Exercícios com tabela hash
    306 palavras | 2 páginas