UNIVERSIDAD MARIANO GALVEZ CENTRO DE CHIMALTENANGO FACULTA DE INGENIERIA CURSO: PROGRAMACION 3, Sección A ING. PABLO ANTONIO DE LEON BAUTISTA
Examen Corto Inserción de datos en una tabla Hash Por el método de la división y multiplicación
Nombre: Moises Neftali Sacalxot Buch. Carné: 1990-11-3256
1. Considere el siguiente conjunto de datos: D = {(5, y1), (28, y2), (19, y3), (15, y4), (20, y5), (33, y6), (12, y7), (17, y8), (10, y9)} donde yi (1< i < 9) es la información asociada con cada clave. Muestre el proceso de inserción de las claves en una tabla de hash abierto de tamaño m = 9, utilizando como función de hash el método de la división (h(k) = k mod m).
Insertando el 5
Insertando el 28:
Insertando el 19:
Insertando el 15:
5 mod 11 = 5
28 mod 11 = 6
19 mod 11 = 8
15 mod 11 = 4
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
5
5 28
0 1 2 3 4 5 6 7 8 9 10
5 28 19
0 1 2 3 4 5 6 7 8 9 10
15
5 28 19
Insertando el 20:
Insertando el 33:
Insertando el 12:
Insertando el 17:
20 mod 11 = 9
33 mod 11 = 0
12 mod 11 = 1
17 mod 11 = 6
0 1 2 3 4 5 6 7 8 9 10
15 5 28 19 20
0 1 2 3 4 5 6 7 8 9 10
33
15 5 28 19 20
0 1 2 3 4 5 6 7 8 9 10
33 12
15 5 28 19 20
0 1 2 3 4 5 6 7 8 9 10
33 12
15 5 28 19 20
17
Insertando el 10: 10 mod 11 = 10 0 33 1 12 2 3 4 15 5 5 6 28 7 8 19 9 20 10 10
17
2. Considere el siguiente conjunto de datos: D = {(61, y1), (62, y2), (63, y3), (64, y4), (65, y5)} donde yi (1< i < 5) es la información asociada con cada clave. Muestre el proceso de inserción de las claves en una tabla de hash abierto de tamaño m = 1000, utilizando como función de hash el método de la multiplicación
Función hash método de la multiplicación: h(k) = [m*(k*A mod 1] h(61)=1000*(61* 0.618033989 mod 1)= 700.0733137 h(62)=1000*(62* 0.618033989 mod 1)= 318.1073025 h(63)=1000*(63* 0.618033989 mod 1)= 936.1412912 h(64)=1000*(64* 0.618033989 mod 1)= 554.17528 h(65)=1000*(65* 0.618033989 mod 1)= 172.2092687
0
……… 172
65
…….. 318
62
……. 554
64
…….. 700
61
……. 936
…….. 999
63