Академический Документы
Профессиональный Документы
Культура Документы
Funo Hash
A Funo Hash
Transforma o valor de uma chave de pesquisa K (K pertence ao DCH =
Domnio de valores de chaves ) em um inteiro dentro do intervalo [0...(n-1)]
onde n o tamanho da tabela.
(Tamanho N)
Tabela Hash
0
1
Hash
h(k)=3
2
3
n-1
Existem diversos tipos de Funes Hash. Cada uma com um mtodo prprio,
mas todas com o mesmo propsito: Transformar a chave em um valor n
tabela Hash.
Vamos ver alguns tipos de Funes Hash.
Funo Hash baseada na diviso
ou
Exemplos:
Supondo que N= 100.
Valores de K
102
102
1127
27
97
874
74
50
2030
30
73
2027
27
70
Obs.: a) Melhor que o N seja um nmero primo para que reduzir as colises.
b) Quando a chave for uma String de caracteres pode-se somar os
valores correspondentes a cada caractere antes de calcular a funo mod,
ou seja, o resto da diviso.
PAULO
H(U) =21
MARISA
H(R) = 18
JOSE
H(S)= 19
ANTONIO
H(T)= 20
1027
1027 1000 = 27
Esta funo parte do princpio em que o valor do Hashing obtido elevandose a chave ao quadrado e o endereo uma parte central do valor
resultante.
Exemplos:
H(8452) = 84522 = 71436304
Valores da chave K
8452
4363
Valores da chave K
123456789
368
Exerccio:
Construa voc mesmo uma Funo Hash e insira a palavra
ALGORITMOS na sua tabela Hash.
Depois verifique se a chave R pertence tabela Hash.