Beruflich Dokumente
Kultur Dokumente
Para buscar un elemento con esta tcnica, se aplica la funcin hash sobre la
clave, luego se compara la clave devuelta con la clave real. Si las claves no
coinciden, se hace una bsqueda secuencial comenzando por la siguiente
posicin del array. Nuevamente, si se llega al final del vector, se sigue
buscando desde el principio.
Mtodo 2: Rehashing
Si el primer clculo de la funcin hash produce una colisin, se usa la
direccin transformada como entrada para una funcin rehash y se calcula
una nueva direccin. Un ejemplo de funcin rehash sencilla sera: (Direccin
ocupada + 1) mod 100. Si el resultado sigue siendo un espacio ocupado, se
puede aplicar la funcin rehashing hasta obtener un espacio disponible.
Cmo nos quedaran ubicados los elementos en el vector? Hay que tener
en cuenta algo ms: como el valor primo utilizado en la funcin de Hashing
fue el 53, inicialmente el vector destino tendra 53 casillas, pero a eso hay
que agregarle las casillas de la zona de desbordamiento, de modo que
habra que aumentar esas casillas alrededor de un 25%, y en ese caso
nuestro vector quedara con 53 * 1.25 = 66.25, o sea 66 casillas en total.
Las 53 primeras almacenarn los cdigos segn la posicin que resulte al
aplicar la funcin de Hashing, las 13 restantes representan la zona de
desbordamiento a donde irn los cdigos que colisionen.
Veamos un grfico de cmo quedaran los cdigos en ese vector:
http://escritura.proyectolatin.org/estructura-de-datos/tipos/