Erer
Se requiere saber cuál es la eficiencia en cuanto a tiempo de ejecución de operaciones de cada una de las implementaciones de la estructura Diccionario, a saber: SortedChain, Binary Tearch Tree y Hash Tables. Para ello de hace uso del método currentTime( ) de la clase System.
Se definen tres fases de muestreo en la primera se agregan diez mil elementos a cada uno delos diccionarios, en la segunda se hacen cinco mil búsquedas y en la tercera se hacen diez mil operaciones alternas de inserción y borrado, todas exitosas.
Se generó un arreglo con diez milelementos aleatorios no repetidos que corresponderían a las llaves y un arreglo con diez mil elementos aleatorios susceptibles de repetición.
Para hacer un promedio del tiempo transcurrido durante procesose realizó cada fase tres veces sobre tres Diccionarios diferentes de cada estructura, y se sacó la media.
Código importante
Un problema inicial fue garantizar que siempre se usaran las mismasllaves en cada diccionario razón por la cual se decidió construir el arreglo de números aleatorios no repetidos. Se usó el siguiente código en el cual se compara cada nuevo número insertado con losanteriormente insertados.
1. for(int o = 0; o < 10000; o++)
2. {
3. elemento[o] = r.nextInt( 10000 );
4. llave[o] = r.nextInt( 10000 );
5. for( int u = 0; u < o; u++ )
6. {7. if(llave[o]==llave[u])
8. o--;
9. }
10. }
Cada fase se realizó mediante un bucle for antes y después del cual se toma el tiempo del momento de ejecución.
Fase 1:Se hicieron las diez mil inserciones haciendo uso de los arreglos de llaves y elementos aleatorios.
1. start = System.currentTimeMillis( );
2. for( int i=0; i<10000; i++ )
3.sc1.put( llave[i], elemento[i]);
4. end = System.currentTimeMillis( );
5. SC1[0]=end-start;
Fase 2:
Se realizaron las cinco mil búsquedas mostrándolas en pantalla por medio de un...
Regístrate para leer el documento completo.