Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Carlos López
Consiste en la elección de una clave, para el buen funcionamiento
de la estructura, debe cumplir las siguientes características:
• Ser una función sencilla y por tanto rápida.
• Distribuir uniformemente los elementos en el espacio de
almacenamiento
• Evitar en lo posible la aparición de sinónimos
• Para dos claves muy similares, generar posiciones distantes.
En primer lugar, obtenemos un numero a partir de la clave
alfanumérica utilizada y luego hacemos la operación modulo N sobre
ese numero. Así obtendremos una posición donde almacenar nuestro
elemento. Hay que cuenta que N (el tamaño de la tabla) ha de ser un
número primo.
El código seria:
prívate static int Hash1(String Clave)
{
int valor = Clave.charAt(0);
int tam = Clave.length();
for (int i = 1; i < tam ;i++) {
valor += Character.getNumericValue(
Clave.charAt(i));
}
return (valor % N);
}
Es la función de dispersión clásica para claves enteras.
Código: x = x % B;
Codigo:
for (int i=0; i<clave.length(); i++) {
x = (x + clave.charAt(i)) % B;
}