llaves Por: Carlos Cedeo Joseeph Cedeo Ricardo Domnguez Definicin y conceptos
El mtodo de transformacin de claves consiste en convertir la clave dada en
una direccin dentro del array. La correspondencia entre las claves y la direccin en el medio de almacenamiento o Array se establece por una funcin de conversin. Ventajas
1. Se pueden usar los valores naturales de la llave, puesto que se traducen
internamente a direcciones fciles de localizar 2. Se logra independencia lgica y fsica, debido a que los valores de las llaves son independientes del espacio de direcciones 3. No se requiere almacenamiento adicional para los ndices. Desventajas
1. No pueden usarse registros de longitud variable
2. El archivo no est clasificado 3. No permite llaves repetidas 4. Solo permite acceso por una sola llave Tcnicas de clculo de direcciones: Hashing por residuo La idea de este mtodo es la de dividir el valor de la llave entre un numero apropiado, y despus utilizar el residuo de la divisin como direccin relativa para el registro . Mientras que el valor calculado real de una direccin relativa, dados tanto un valor de llave como el divisor, es directo; la eleccin del divisor apropiado puede no ser tan simple. Tcnicas de clculo de direcciones: Hashing por cuadrado medio Esta tcnica consiste en elevar al cuadrado la llave dada, despus algunos dgitos especificados se extraen de la mitad del resultado para construir la direccin relativa. Si se desea una direccin relativa de n dgitos, entonces los dgitos se truncan en ambos extremos de la llave elevada al cuadrado, tomando los n dgitos intermedios. Las mismas posiciones de n dgitos debern extraerse para cada llave. La siguiente figura ilustra el uso de la tcnica del medio del cuadrado para los mismos valores de llaves que se mostraron en la tabla anterior. Tcnicas de clculo de direcciones: Hashing por pliegue En esta tcnica el valor de la llave es participando en varias de las partes, cada una de las cuales (excepto la ltima) tiene el mismo nmero de dgitos que tiene la direccin relativa objetivo. Estas particiones son despus plegadas una sobre otra y sumadas. El resultado, con el dgito de mayor orden truncado, si es necesario, es la direccin relativa. Comparacin entre las funciones Hash
Aunque alguna otra tcnica pueda desempearse mejor en situaciones
particulares, la tcnica del residuo de la divisin proporciona el mejor desempeo. Ninguna funcin hash se desempea siempre mejor que las otras. Si la distribucin de los valores de llaves no es conocida, entonces el mtodo del residuo de la divisin es preferible. Mtodos para el manejo del problema de las colisiones Una colisin de hash es una situacin que se produce cuando dos entradas distintas a una funcin de hash producen la misma salida. Los mtodos ms conocidos para resolver colisiones son: Sondeo lineal Doble hashing Gracias por su atencin.