Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EN SISTMAS COMPUTACIONALES
Mtodos de bsqueda
ESTRUCTURA DE DATOS 1
Es una tcnica de bsqueda que permite que un registro se recupere directamente con un mnimo de comparaciones o sin ellas. Esto se lleva a cabo reservando una posicin en la tabla para cada posible valor de clave, de tal manera que todas las posiciones queden incluidas de acuerdo al valor de la clave. Un registro se recupera simplemente usando la clave, o una funcin de la clave, como ndice en la tabla
ESTRUCTURA DE DATOS 1
Figura 8.2 Cada clave tiene una nica posicin, pero hay varias posiciones vacas.
ESTRUCTURA DE DATOS 1
Para almacenar cada valor clave en una nica posicin, se requiere que la clave sea tan grande como el rango de claves. Si se presenta una proporcin pequea de claves, se desperdicia mucho espacio en la tabla. Una mejor manera de proporcionar recuperacin directa de registros, es conformar la tabla de tal forma que ciertas claves compartan en la posicin de la tabla. De esta manera tenemos la esencia del HASH. En particular, es claro que las claves que tericamente comparten el mismo lugar en la tabla, naturalmente no pueden compartir la posicin asignada. Este conflicto se debe resolver de alguna forma
ESTRUCTURA DE DATOS 1
8.4.1 Inserciones con Hash Dado un rango M de claves posibles, se proporciona una tabla con N entradas, donde N < M. La posicin de una clave particular se determina transformando la clave en un entero dentro del rango de 1 a N. El proceso de transformacin se llama HASHING y una transformacin particular se llama HASH.
Figura 8.3 Tabla con la funcin HASH: HASH(CLAVE) = CLAVE mod6 + 1 ESTRUCTURA DE DATOS 1
La figura 8.3 muestra una tabla con una funcin HASH, donde N = 6 y M = 36. Las posiciones vacantes se denotan por cero en el campo clave. Los registros se almacenan haciendo HASHIN a su clave y usando el resultado como ndice para determinar la posicin apropiada, en la tabla. En la figura 8.3 solo hay cuatro registros, suponga que se va a insertar en la tabla el registro que tiene clave 9. Pero HASH(9) = 4, y esa posicin esta ocupada por el registro 21, pues HASH(21) = 4 tambin. Es decir, las claves 9 y 21 son sinnimas. Al tratar de almacenar 9 se presenta una colisin pues la posicin ya est ocupada. Hay diferentes formas de solucionar esta situacin.
ESTRUCTURA DE DATOS 1
De las formas para solucionar el problema de las colisiones, una trivial sera buscar la primera posicin vacante y almacenar all el registro. Esto implica iniciar la bsqueda desde la posicin 1, luego la 2 y as sucesivamente hasta encontrar una posicin vacante o se examine toda la tabla.
ESTRUCTURA DE DATOS 1
Las funciones hash mas comunes son: Residuo de la divisin Medio del cuadrado Pliegue
ESTRUCTURA DE DATOS 1