Sistemas de informação
Pesquisa de Dados
! Conceitos Básicos
! Pesquisa Seqüencial
! Pesquisa Binária
! Hashing
PESQUISA DE DADOS
Hashing (Espalhamento)
! Definição
Consiste basicamente no armazenamento (ou pesquisa) de cada entrada em um endereço calculado pela aplicação de uma função à chave de entrada. O processo de pesquisa sobre uma tabela organizada desta maneira é similar ao processo de inserção e consiste em aplicar uma função de cálculo de endereço ao argumento de pesquisa, obtendo como resultado o endereço da entrada procurada. [Paulo Veloso, Clésio dos Santos, Paulo
!
Azeredo, Antônio Furtado - Estrutura de Dados - Editora Campus]
1
PESQUISA DE DADOS
Hashing (Espalhamento)
! Definição
Também é conhecido pelo Método de
Cálculo de Endereço.
!
Não é apenas um método de pesquisa, mas também um método de organização física de tabelas. !
Também é utilizado para inserção de elementos. !
PESQUISA DE DADOS
Hashing (Espalhamento)
! Definição
Permite agilizar o processo de consulta de informações. !
Não exige ordenação do conjunto de dados como a Pesquisa Binária.
!
Não necessita de tabela de índices como a
Pesquisa Seqüencial Indexada.
!
A operação de inserção é tão rápida quanto a operação de consulta.
!
2
PESQUISA DE DADOS
Hashing (Espalhamento)
! Aplicação
Exemplo de hashing manual: controle de pedidos de venda por catálogo e telefone
(atualmente e-commerce)
!
Segurança na troca de mensagens pela
Internet: garantir a integridade da mensagem.
!
Assinatura digital como forma de garantir a autenticidade da mensagem.
!
PESQUISA DE DADOS
Hashing (Espalhamento)
INTERNET
Hashing A
MENSAGEM
Hashing A
MENSAGEM
Hashing B
Hashing A ≠ Hashing B (mensagem adulterada)
Hashing A = Hashing B (mensagem não adulterada)
3
PESQUISA DE DADOS
Hashing (Espalhamento)
Chave
Função
321
E
E = f(Chv)
Chave
8
409
524
321
26
115
618