computacionales mediante la técnica de Análisis • Identificar las sentencias y tiempos de ejecución estimados en ciclos, condiciones, operaciones y métodos de los algoritmos Iteraciones en ciclos Tiempo de ejecución para ciclos anidados
• El uso de los ciclos anidados es una práctica muy
frecuente y necesaria para la implementación de diferentes tipos de algoritmos. • Es común cuando se tienen dos ciclos anidados que inician en un valor entero positivo e iteran hasta n (siendo n un entero positivo muy grande) o viceversa, la función T(n) tiene un orden cuadrático. • Para el cálculo del tiempo estimado primero se calcula el ciclo interno, luego se multiplica el tiempo obtenido por las veces del ciclo externo, luego calcula el ciclo externo y finalmente se une todos los tiempos Tiempo de ejecución para ciclos anidados public void metodo ( int n, int a1[], int a2[] ) { for ( int i = 0 ; i < n; i++ ) { for ( int j = 0 ; j < n ; j++ ) { a1[ j ] = a2[ i ]; } } } Tiempo de ejecución para ciclos anidados public void metodo( int n ) { K=0, 1 vez K<n, 1 n+1 veces int x = 0; K++, n veces for ( int i = 0 ; i < n ; i++ ) X++, n veces T1(n)= 3n+2 { J=0, 1 vez for ( int j = 0 ; j < n; j++ ) J<n, 1 n+1 veces { J++, n veces T2(n)=(2n+2) for ( int k = 0 ; k < n ; k++ ) T3(n)=(3n+2)n+2n+2=3n2+4n+2 { i = 0, 1 vez i < n, n + 1 veces x++; i++, n veces } T4(n)= 2n+2 } T5(n)=(3n2+4n+2)n+2n+2=3n3+4n2+4n+2 int n, 1 vez } X=0, 1 vez } T(n): T5+2= 3n3+4n2+4n+4 Tiempo de ejecución para ciclos anidados (Actividad) public void metodo( int n ) { T(n): ? int x = 0; for (i=0; i<=n; i++) { for (j=0;j<6n; j+=3) { for (k=2;k<2n; k+=2) { x=i+j+k; } } } Ejercicio
• Ingresar datos en un arreglo, determinar las posiciones del número
menor y las posiciones del número mayor. Calcular el tiempo estimado TAREA
• Realizar el Trabajo 2 • Resolver ejercicios para calcular tiempos estimados DUDAS