0% encontró este documento útil (0 votos)
95 vistas15 páginas

Análisis de Tiempos en Algoritmos

Este documento explica la técnica de análisis para estimar el tiempo de ejecución de algoritmos. Describe cómo contar las operaciones elementales en instrucciones simples y condiciones para calcular T(n). Proporciona ejemplos de código con sus tiempos de ejecución estimados aplicando esta técnica.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
95 vistas15 páginas

Análisis de Tiempos en Algoritmos

Este documento explica la técnica de análisis para estimar el tiempo de ejecución de algoritmos. Describe cómo contar las operaciones elementales en instrucciones simples y condiciones para calcular T(n). Proporciona ejemplos de código con sus tiempos de ejecución estimados aplicando esta técnica.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CLASE 7

• Técnica de análisis
Motivación
Humor
Objetivos

• Conocer los tiempos estimados de los algoritmos


computacionales mediante la técnica de Análisis
• Identificar las sentencias y tiempos de ejecución
estimados en sentencias y operaciones de los
algoritmos
Análisis
• Esta técnica matemática permite calcular el tiempo
de ejecución estimado T(n), en función del número
de operaciones elementales que realiza un
algoritmo para un tamaño de entrada conocido.
Tiempo de ejecución para instrucciones simples
• El tiempo de ejecución para instrucciones simples
consiste en el conteo de operaciones elementales
por línea de código.
• No se considera para este tipo de conteo la
declaración de variables, pues el conteo se realiza
sobre los variables en ejecución dinámica.
Tiempo de ejecución para instrucciones simples
public int metodo1( int n ) int n, se ejecuta 1 vez
x = 2, se ejecuta 1 vez
{ y = x++, se ejecuta 1 vez
int x,y,z;
z = y + x, se ejecuta 1 vez
x = 2;
return z, se ejecuta 1 vez
y = x++;
T(n)=5
z = y + x;
return z;
}
Tiempo de ejecución para instrucciones simples
public int ejercicio( int x, int y, int z ) int x, se ejecuta 1 vez
{ int y, se ejecuta 1 vez
int r; int z, se ejecuta 1 vez
r = 0;
r = 0, se ejecuta 1 vez
x += 2;
y = x + 3; x += 2, se ejecuta 1 vez
z = x + 2; y = x + 3, se ejecuta 1 vez
r = x + y + z; z = x + 2, se ejecuta 1 vez
return r r = x + y + z, se ejecuta 1 vez
} return r, se ejecuta 1 vez
T(n)=? T(n)=9
Tiempo de ejecución para condiciones
public void metodo ( int n )
int n Se ejecuta 1 vez
{
int x=0;
x=0 Se ejecuta 1 vez
if (x<n ) x< n Se ejecuta 1 vez
{ x = i ++ Se ejecuta 1 vez
x = i++; a=3 Se ejecuta 1 vez
a=3; b=a+x Se ejecuta 1 vez
b=a+x; T(n)=6
}
}
T(n)=?
Tiempo de ejecución para condiciones
public void metodo ( int n, int a[] ) int n Se ejecuta 1 vez
{ int a[] Se ejecuta 1 vez
int x=0,y; x=0 Se ejecuta 1 vez
if (x<n ) x< n Se ejecuta 1 vez
{ x += 2 Se ejecuta 1 vez
x = i++; y=a[4] Se ejecuta 1 vez
} T(n)=6
else {
x+=2;
y=a[4];
}
}
T(n)=?
Tiempo de ejecución para condiciones
public void metodo ( int n, int a[] ) int n Se ejecuta 1 vez
{ int a[] Se ejecuta 1 vez
int x=0,y; x=0 Se ejecuta 1 vez
if (x< 3) Se ejecuta 1 vez
if (x<n ) {
x += 2 Se ejecuta 1 vez
x = i++; y=a[4] Se ejecuta 1 vez
} T(n)=6
else {
if (x<3) {
x+=2; y=a[4];
}
else {
if (x==0){
x+=2; y=y+x;
}
else {
x+=3;
}
}
Ejercicio
public void metodo( int n, int a[] )
int n Se ejecuta 1 vez
{
int a[] Se ejecuta 1 vez
int temp, x, k=0, i;
k=0 Se ejecuta 1 vez
if (i<=n)
if (i<=n) Se ejecuta 1 vez
{
if ( a[i] < a[i+1] ) Se ejecuta 1 vez
if ( a[i] < a[i+1] )
temp = a[i+1] Se ejecuta 1 vez
{
x = a[i]; Se ejecuta 1 vez
temp = a[i];
k++; Se ejecuta 1 vez
a[i+1] = temp;
T(n)=8
}
else
{
temp = a[i+1];
x = a[i];
k++;
}
}
}
Ejercicio

int n Se ejecuta 1 vez


int a[] Se ejecuta 1 vez
i=0 Se ejecuta 1 vez
if (i<=n+3) Se ejecuta 1 vez
if ( a[i-1] < a[i+1] ) Se ejecuta 1 vez
temp = a[i] Se ejecuta 1 vez
a[i+1]=temp Se ejecuta 1 vez
x=a[i] Se ejecuta 1 vez
i++; Se ejecuta 1 vez
T(n)=9
Tarea

• Revisar material Clase


• Realizar ejercicios para calcular el tiempo
estimado en programas con condiciones
anidadas
DUDAS

También podría gustarte