Anúncio
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Anúncio

Mais de Leinylson Fontinele(20)

Anúncio

Estrutura de Dados Apoio (Tabela Hash)

  1. # Estrutura de Dados # Tabela Hash Prof. Leinylson Fontinele Pereira
  2. Introdução 13:07 2 Estrutura de Dados: Tabela Hash
  3. O que vamosaprender?  Tabela Hash 13:07 Estrutura de Dados: Tabela Hash
  4. Vamos começar? 13:07 4 Estrutura de Dados: Tabela Hash
  5. TabelaHash 13:07  Acesso a um registro em um arquivo sequencial todos os registros são percorridos desde o início até que se encontre o registro desejado?  Acesso Serial • Consiste na obtenção do registro que segue ao último acessado, na sequência ditada pela chave de ordenação.  Acesso Aleatório • Caracteriza-se por ser a indicação do registro desejado feita pela especificação de um argumento de pesquisa. Neste caso a sequência na qual os registros são acessados não mantém necessariamente a relação com a ordenação física do arquivo. Estrutura de Dados: Tabela Hash
  6. TabelaHash 13:15  Busca  Muitos métodos de busca funcionam segundo o mesmo princípio: procurar a informação desejada com base na comparação de suas chaves, isto ´´e, com base em algum valor que a compõe  Problema  Algoritmos eficientes exigem que os elementos sejam armazenados de forma ordenada  Custo da ordenação no melhor caso: 𝑂(𝑛 𝑙𝑜𝑔 𝑛)  Custo da busca: 𝑂(log 𝑛)  Busca Ideal  Acesso direto ao elemento, sem nenhuma etapa de comparação de chaves: custo 𝑂(1) Estrutura de Dados: Tabela Hash
  7. TabelaHash 13:15  Arrays  Estruturas que utilizam índices para armazenar informações  Permite acessar uma determinada posição do array com custo 𝑂(1)  Problema  Arrays não possuem nenhum mecanismo que permita calcular a posição onde uma informação está armazenada, de modo que a operação de busca em um array não é 𝑂(1)  Solução  Usar tabela hash Estrutura de Dados: Tabela Hash
  8. TabelaHash 13:15  Tabela de espalhamento  Também conhecida como tabelas de indexação  É uma generalização da ideia de array  Utiliza uma função para espalhar os elementos que queremos armazenar na tabela  O espalhamento faz com que os elementos fiquem dispersos de forma não ordenada dentro do array que define a tabela  Função de Hashing  Função que espalha os elementos na tabela Estrutura de Dados: Tabela Hash
  9. TabelaHash 13:15 Estrutura de Dados: Tabela Hash
  10. TabelaHash 13:15 Estrutura de Dados: Tabela Hash
  11. 13:15 Porque espalhar os elementos melhora a busca? Estrutura de Dados: Tabela Hash
  12. Porqueespalharos elementosmelhoraa busca? 13:15 Uma tabela hash permite a associação de valorese chaves Chave  Parte da informação que compõe o elemento a ser inserido ou buscado na tabela Valor  É a posição (índice) onde o elemento se encontra no array que define a tabela Assim, a partir de uma chave podemos acessar de forma rápida uma determinada posição do array Na média, essa operação tem custo 𝑂(1) Estrutura de Dados: Tabela Hash
  13. TabelaHash 13:15 Vantagens  Alta eficiência na operação de busca  Tempo de busca é praticamente independente do número de chaves armazenadas na tabela  Implementação simples Desvantagens  Alto custo para recuperar os elementos da tabela ordenados pela chave. Nesse caso, é preciso ordenar a tabela  Pior caso é 𝑂(𝑛), sendo 𝑛 o tamanho da tabela: alto número de colisões Estrutura de Dados: Tabela Hash
  14. TabelaHash:Aplicações 13:15 Estrutura de Dados: Tabela Hash
  15. TabelaHash:Aplicações 13:15 Busca de elementos em base de dados Criptografia: MD5 e família SHA (Secure Hash Algorithm) Implementação da tabela de símbolos dos compiladores Armazenamento de senhas com segurança: a senha não é armazenada no servidor, mas sim o resultado da função hash Verificação de integridade de dados e autenticação de mensagens Estrutura de Dados: Tabela Hash
  16. Concluindo... 13:15 16 Estrutura de Dados: Tabela Hash
  17. Nestaaulaaprendemos...  Tabela Hash 13:07 Estrutura de Dados: Tabela Hash
  18. Material:https://sites.google.com/site/leinylsonnassau 13:15 Material baseado nas aulas de:  Prof. Dr. André R. Backes. Estrutura de Dados: Tabela Hash
  19. AlgumaDúvida? 13:15 Até a próxima aula... leinylson@gmail.com
Anúncio