ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Laboratorio


Enviado por   •  2 de Abril de 2014  •  2.901 Palabras (12 Páginas)  •  291 Visitas

Página 1 de 12

TRABAJO ESCRITO SOBRE SOLUCION DE COLISIONES

EDGAR YESID CORTES INSUASTY

DAVID ENRIQUE MAECHA

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS

FACULTAD INGENIERIA

SISTEMAS

VI SEMESTRE

CONSULTA

BOGOTA

2014

TRABAJO ESCRITO SOBRE SOLUCION DE COLISIONES

EDGAR YESID CORTES INSUASTY

DAVID ENRIQUE MAECHA

DOCENTE

JULIO FLOREZ SANCHEZ

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS

FACULTAD INGENIERIA

SISTEMAS

VI SEMESTRE

CONSULTA

BOGOTA

2014

CONTENIDO

INTRODUCCION

DEFINICION

REASIGNACION

PRUEBA LINEAL

PRUEBA CUADRATICA

DOBLE DIRECCION HASH

ARREGLOS ANIDADOS

ENCADENAMIENTO

USO DE AREAS INDEPENDIENTES DE LAS COLISIONES

USO DE AREAS DE COLISIONES ENTRE LOS BLOQUES DE ALMACENAMIENTO PRIMARIO

BIBLIOGRAFIA

INTRODUCCION

El presente trabajo pretende dar a conocer todo lo referente a solución de colisiones explicando de forma clara y fácil de entender el tema, se mostraran ejemplos para fácil comprensión del lector, se muestra la estructura de la consulta, como funciona y ejemplos de forma grafica.

2. DEFINICION

SOLUCION DE COLISIONES

La elección de un método adecuado para resolver colisiones es tan importante como la elección de una buena función hash. Cuando esta obtiene una misma dirección para dos claves diferentes se está ante una colisión. Normalmente cualquiera que sea el método elegido resulta costoso tratar las colisiones. Es por ello que se debe hacer un esfuerzo importante para encontrar la función que ofrezca la mayor uniformidad en la distribución de las claves.

La manera más natural de resolver el problema de las colisiones es reservar una casilla por clave; es decir, aquellas que se corresponden una a una con las posiciones del arreglo. Pero como ya se menciono esta solución puede tener un alto costo en memoria; por lo tanto, se deben analizar otras alternativas que permitan equilibrar el uso de memoria con el tiempo de búsqueda.

Algunos de los métodos más utilizados para resolver colisiones, se pueden clasificar en:

Reasignación

Arreglos anidados

Encadenamiento

3. REASIGNACION

Existen varios principios de reasignación, a continuación se analizaran tres:

Prueba lineal

Prueba cuadrática

Doble dirección hash

3.1 PRUEBA LINEAL

Este método consiste en que una vez que se detecta la colisión se recorre el arreglo secuencialmente a partir del punto de colisión, buscando al elemento. El proceso de búsqueda concluye cuando el elemento es hallado, o cuando se encuentra una posición vacía. El arreglo se trata como una estructura circular: el siguiente elemento después del último es el primero.

La principal desventaja es que puede haber un fuerte agrupamiento alrededor de ciertas claves, mientras que otras zonas del arreglo podrían permanecer vacías. Si las concentraciones de claves son muy frecuentes, la búsqueda será principalmente secuencial, perdiendo así las ventajas del método hash.

EJEMPLO

Sea V un arreglo unidimensional de 10 elementos. Las claves son: 25, 43, 56, 35, 54, 13, 80 y 104 fueron asignadas según la función hash: H(K) = (Kmod10) + 1

El dato a buscar es 35, al aplicar la clave hash a 35 se obtiene la dirección 6, como el elemento buscado no se encuentra avanza hasta la siguiente posición, hasta llegar a la posición 8 donde lo encuentra.

Estructuras de datos-cairo3ed

3.2 PRUEBA CUADRATICA

Este método es similar al anterior. La diferencia consiste en el que de prueba cuadrática las direcciones alternativas se generaran como D + 1, D + 4, D + 9,…D + i^2, en vez de D + 1, D + 2,… D + i. Esta variación permite una mejor distribución de las claves que colisionan.

EJEMPLO

Sea V un arreglo de 10 elementos, las claves son: 25, 43, 56, 35, 54, 13, 104 y 55. El dato a buscar es 35. La función hash asignada es: H (K) = (Kmod10) + 1

Estructuras de datos-cairo3ed

Cuando se le aplica hash a 35 la dirección dada es 6, se calcula luego la suma D + (I*I), el algoritmo concluye cuando encuentra la clave en la posición 10.

3.3 DOBLE DIRECCION HASH

Este método consiste en que una vez hallada la colisión, se genera otra dirección aplicando la misma dirección hash a la dirección previamente obtenida. El proceso se detiene cuando el elemento es hallado o cuando se encuentra una posición vacía.

DH (K)

D’ (H (D))

D’’ (H (D’))…

La función hash que se aplica no necesariamente tiene que ser la misma que originalmente se aplico a la clave; podría ser cualquier otra, sin embargo, no existe ningún estudio que precise cual es la mejor función que se debe utilizar en el cálculo de las direcciones sucesivas.

EJEMPLO

Sea V un arreglo unidimensional de 10 elementos. Las claves son: 25, 43, 56, 35, 54, 13, 80 y 104 fueron asignadas según la función hash: H (K) = (Kmod10) + 1

Además se definió

...

Descargar como (para miembros actualizados) txt (17 Kb)
Leer 11 páginas más »
Disponible sólo en Clubensayos.com