/  3
 
Universidad Diego PortalesFacultad de Ingenier´ıaEscuela de Ingenier´ıa Inform´aticaCurso: Estructura de DatosProfesor: Sergio MujicaAyudante: Jaime Guzm´an
1 Hashing Abierto
Consiste en tener una lista de todos los elementos que se dispersan en el mismo valor, es decir, una listaenlazada de registros cuyas llaves(keys) concurran a esa direccion. La cantidad de tiempo requerido parauna busqueda dependera de la longitud de las listas y de las posiciones relativas de las llaves en ellas. Situvieramos que manejar colisiones ademas de las listas enlazadas, se podria usar cualquier esquema pararesolver colisiones, como un arbol binario de busqueda. Diremos que
λ
es el factor de carga de un tabla dehash, el cual representa :
λ
=
Numero de keys en la tabla
,donde
es el tama˜no de la tabla.
2 Hashing Cerrado
Al contrario con el hashing abierto si ocurre una colision, se intenta buscar celdas alternativas hastaencontrar una vacia.
El problema de encontrar espacios vacios se puede solucionar con el rehashing
Como todos los datos se meten en la tabla, esta tiene que ser mas grande para una dispersion cerradaque para una abierta.
3 Exploracion Lineal
Por lo general la estrategia de resolucion
(
x
) es una funcion lineal que resuelve las colisiones . Esto equivalea buscar secuencialmente en el vector (con circularidad) hasta que encontremos una posicion vacia. En tantoque la tabla sea suficientemente grande, siempre se puede encontrar una celda vacia, pero ello puede tomardemasiado tiempo y posiblemente produsca agrupamiento primarios. El numero medio de celdas examinadasen una insercion con exploracin lineal es cercano a12(1 +1(1
λ
)
2
)Y el costo de una busqueda con exito es la media de los costes de las inserciones en tablas con factores decarga mas peque˜nos.12(1 +11
λ
)1
 
4 Exploracion Cuadratica
Su resolucin de colisiones elimina el problema del agrupamiento primario que padece la exploracionlineal.
La funcion que maneja las colisiones es cuadratica.
Si se emplea exploracion cuadratica, el tama˜no de la tabla es un numero primo, y el factor de cargano excede el 0.5, siempre podemos insertar un nuevo elemento en la tabla, y durante una operacin deinsercion no se examina ninguna celda dos veces.
5 Ejercicios
1. Sea T una tabla de hash de tama˜no 10 y h la siguiente funcion de hash.
h
(
k
) = 4 + 3
k mod
10Se quieren insertar en T elementos con claves 1, 11, 5, 15, 55, 6, 26, 90, 50, 20 en ese mismo ordenusando h.(a) Determine el resultado de insertar las claves en T si las colisiones se resuelven por encadenamiento(suponga que un nuevo elemento se agrega al final de una lista).(b) Determine el resultado de insertar las claves en T si las colisiones se resuelven por examinacionlineal.
Soluci´on
a)Se tiene el siguiente resultado:b)Se tiene el siguiente resultado:2

Share & Embed

More from this user

Add a Comment

Characters: ...