Está en la página 1de 2

Tablas de Hash

1.- Se tiene una tabla de Hash cerrado parcialmente llena. Para optimizar el espacio se planea redispersar
los datos a una nueva tabla con menos cubetas. Sabiendo que originalmente los datos fueron ingresados
en orden alfabtico y conociendo el nmero de colisiones existentes al llenar la tabla original, llene la
nueva tabla de hash usando una funcin lineal.
Cubetas

# colisiones

Cubetas

10

2.- Dada la siguiente tabla con hashing abierto (acepta colisiones) como quedara la tabla si fuera un
hashing cerrado(no acepta colisiones) y tiene una funcin rehashing lineal. Considere que el orden como
fueron ingresados los elementos en sus posiciones fue alfabticamente.
Tabla Inicial (hashing abierto)

3.- Considere las asociaciones entre los siete valores y las siete claves mostrados en la tabla.
Clave
24
48
32
66
22
40
49

Valor
E
B
D
A
F
C
G

Asuma un escenario donde se desea insertar estos valores en el orden mostrado, del 1 al 7, en una tabla
de Hash, de tamao 7, que utilizan aritmtica modular como funcin de dispersin.
Escriba el valor que almacenarn las cubetas de cada una de las tablas de Hash que resultan de aplicar las
siguientes estrategias de re-dispersin o re-hashing:
Cubetas

Estrategia

Re-hashing Lineal
Re-hashing
funcin

con

doble

h' ( x)=(2 x3)mod B


4.- Una universidad desea generar unos talleres especiales con una cantidad fija de estudiantes(30). A los
participantes se les asigna una identificacin unicamente para el taller y correspondiente al orden de
inscripcin.
a) Defina:
El TDA estudiante que contenga las calificaciones ponderadas que se obtendrn durante el taller. Agregue
todos los campos que considere necesarios.
El TDA Taller que almacenara al conjunto de estudiantes inscritos.
b) Ahora proponga 2 TDA similares a los anteriores pero que cumplan con los siguientes nuevos
requisitos:
- Se debe de poder buscar al estudiante por su numero de matricula (previamente asignado) Esta
operacin debe ser altamente eficiente y de tiempo constante.
- La cantidad de estudiantes puede variar entre 20 y 30 estudiantes.
5.-A partir del TDA HashMap de la librera del curso:
a) Disear e implementar la versin del TDA con hashing abierto.
b) Se define el ndice radial de una Tabla Hash abierta como el nmero de cubetas de la tabla
multiplicado por el nmero de elementos de la lista enlazada con mayor tamao de todas. Disear un
algoritmo adecuado para calcular tal ndice radial.
6.- Se dispone de una aplicacin de radares de trfico que permite llevar la contabilidad del nmero de
veces que ha pasado un determinado coche por dicho radar superando el lmite de velocidad. Para ello se
consulta un Diccionario (Diccionario<Matricula, Integer>) implementado mediante una Tabla Hash.
Con el fin de contabilizar el nmero de veces que ha pasado un coche se requiere actualizar el Diccionario
de la aplicacin. Implemente una funcin que dado el Diccionario y un numero de matricula realice el
proceso de actualizacin.