Você está na página 1de 2

Curso Superior de Bacharelado em Sistemas de Informao Disciplina: Matemtica Discreta Professor: Nildo Carlos da Silva

FUNO DE HASHING Janio Luiz Antunes1 A funo de Hashing pode tambm ser denominada como: Funo de clculo de endereo; Funo de aleatorizao; Funo de randomizao; Numa tabela de um banco de dados onde se deseja armazenar informaes, pode haver mais possibilidades na chave primria do que as informaes que a tabela vai armazenar. Supondo que Chaves = {c,c,c,...,cm} o conjunto de todas as chaves de identificao, que n o nmero de entradas na tabela e que m possivelmente muito maio do que n, o que se deseja uma funo de endereamento: f: Chaves {1,2,3,...,n} A funo ideal aquela que gera um endereo diferente para cada um dos possveis valores das chaves a serem instaladas na tabela, isto , o ideal uma funo injetora. Consideremos uma chave de identificao numrica com valores entre 0 e 1000 bem como uma tabela de armazenamento com entradas indexadas de 1 a 23. Uma funo de hashing relativamente simples e razoavelmente eficiente a seguinte: hash:{0,1,...,1000}{1,2,...,23} tal que para c {0,1,...,1000}, tem-se que: hash(c)=(c mod 23) +1 A seguir apresentado um possvel conjunto de valores de chaves e os correspondentes endereos calculados pela funo hash: Chave Endereo 452 16 623 3 766 8 564 13 825 21 387 20 237 8 360 16 134 20 285 10

Observamos que ocorreram colises de endereos. Para obter o efeito de uma funo injetora no clculo do endereamento, so utilizados mtodos de tratamento de colises. Esses mtodos consistem, essencialmente, no
1

Acadmico do curso Superior de Sistemas de Informao; janioantunes@hotmail.com

estabelecimento de uma poltica para a escolha de uma entrada disponvel na qual ser armazenada cada chave que vier a colidir durante o processo de insero. O detalhamento do tratamento de colises e de outras questes correlatas desenvolvido no estudo de Estruturas de Dados.

Você também pode gostar