Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Rio de Estructura de Datos Vto
Rio de Estructura de Datos Vto
Una tabla hash es conceptualmente una sección contigua de memoria con un número de
elementos direccionables, comúnmente llamados bins, (depósitos) los cuales pueden ser
rápidamente borrados insertados o localizados.
El objetivo será pues encontrar una función hash que provoque el menor número posible de
colisiones (ocurrencias de sinónimos)
El plegado por las fronteras consiste en plegar el identificador por las fronteras de las partes y
sumar los dígitos coincidentes.
La llave es elevada al cuadrado, después algunos dígitos específicos se extraen de la mitad del
resultado para constituir la dirección relativa. Si se desea una dirección de n dígitos, entonces
Cuestionario Unidad 8- Estructura de datos
los dígitos se truncan en ambos extremos de la llave elevada al cuadrado, tomando n dígitos
intermedios. Las mismas posiciones de n dígitos deben extraerse para cada llave.
Se obtiene una muestra de gran tamaño de llaves posibles y sus números hash
correspondientes, se analiza la frecuencia de repetición para cada una de las columnas y se van
descartando aquellos que presentan mayor repetición. Finalmente, se toman las columnas con
mayor variación y tantas como dígitos se requieren. Se aplica factor de ajuste.
Utiliza la longitud del nombre de la variable en conjunto con alguna parte del nombre para
determinar una dirección de la tabla directamente
La manera más simple de resolver una colisión es construir, para cada localización de la tabla,
una lista enlazada de registros cuyas claves caigan en esa dirección.
En la técnica más simple de encadenamiento, cada casilla en el array referencia una lista de
los registros insertados que colisionan en la misma casilla. La inserción consiste en encontrar
la casilla correcta y agregar al final de la lista correspondiente. El borrado consiste en buscar y
quitar de la lista.
15.-Direccionamiento abierto
Las tablas hash de direccionamiento abierto pueden almacenar los registros directamente en
el array. Las colisiones se resuelven mediante un sondeo del array, en el que se buscan
diferentes localidades del array (secuencia de sondeo) hasta que el registro es encontrado o
se llega a una casilla vacía, indicando que no existe esa llave en la tabla.
Es el método cuyo intervalo entre los intentos aumenta linealmente (por lo que los índices
son descritos por una función cuadrática)
Es el método cuyo intervalo entre intentos es constante para cada registro pero es calculado
por otra función hash.
El doble hasheo tiene pobre rendimiento en el caché pero elimina el problema de
aglomeramiento.
Es definido como el cociente entre el numero de depósitos (bins) completos entre el total de
depósitos útiles