Presentación de PowerPoint

Anuncio
Análisis y diseño de software
dit
UPM
ejercicio 3
José A. Mañas
3.3.2016
ejercicio 3
• tablas hash
– con listas externas de desbordamiento
• programar, probar y medir
• dibujar mejora de tiempos
– con hoja de cálculo
– con correlator
ADSW
2
table hash con listas externas
public class HashListas
implements Diccionario {
private final List<CV>[] slots;
private int nDatos = 0;
/**
* constructor.
* @param nSlots numero de ranuras (slots).
*/
public HashListas(int nSlots) {
//noinspection unchecked
slots = new List[nSlots];
... ... ...
DEBE pasar las pruebas
}
del ej1 para ponerlo a punto
antes de medir.
ADSW
3
ejemplo
slots
List<CV> : { “Lisa Smith”, V }
List<CV> : { “John Smith”, V }, { “Sandra Dee”, V }
List<CV> : { “Ted Baker”, V }
List<CV> : { “Sam Doe”, V }
ADSW
4
tareas
• implementar la tabla hash
– class HashListas implements Diccionario
• poner a punto usando pruebas
• medir operaciones
– de comparación de Strings
usando OpMeter
• entregar
ADSW
5
mediciones
• creamos una tabla con NS slots
• cargamos ND datos
• ¿cuánto cuesta leer datos en función de NS?
• casos de prueba
– ND = 5.000
– NS = 500, 1.000, 1.500, 2.000, 2.500, ..., 20.000
ADSW
7
entrega
• HashListas.java
• HashListasTest.java
• Gráficas (en PDF)
– ver ejemplos a continuación
ADSW
8
ejemplos
• siguen algunos ejemplos de resultados
obtenidos por los profesores
• úselos a modo de guía
– de qué tiene que hacer con SUS datos y
– de lo que tiene que presentar como memoria del
ejercicio
ADSW
9
hash + listas
eje X: NS; eje Y: ops
ADSW
10
NS < ND
ND = 5000
n = NS
ADSW
11
NS < ND
ND = 5000
n = NS
ADSW
12
NS > ND
NOPS = F(NS)
12000
10000
8000
6000
4000
2000
0
0
5000
10000
15000
20000
25000
eje X: NS; eje Y: ops
ADSW
13
Descargar