Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Analisis Algoritmos
Analisis Algoritmos
Introducción
int factorial(int n)
{ int fact=1;
for(i=1;i<=n;i++) fact=fact*i;
return (fact);
}
• Tiempo T(n)
int factorial(int n)
{ int fact=1;
for(i=1;i<=n;i++) fact=fact*i;
return (fact);
}
• Tiempo T(n)
1 si n>0
factorial (n) =
factorial(n-1) * n si n=0
Introducción
Tiempo T(n) Si T(n) = multiplicaciones
Necesarias, entonces:
Proposición Q = { T(n) = n}
Hanoi(int n,A,B,C)
{ if(n=1) mover disco superior de A a C return;
Hanoi(n-1,A,C,B);
mover disco superior de A a C;
Hanoi(n-1,B,A,C)
}
Introducción
• Calculando T(n) para Problema de las Torres de Hanoi,
donde N es la cantidad de movimientos de discos.
1 si n=1
T(n)=
2T(n-1)+1 si n >1
Introducción
Buscando una hipótesis, basado solamente en
el algoritmo.
T(1) = 1
T(2) = 3
T(3) = 7
T(4) = 15
:
T(n) = 2n -1 ???
Introducción
• Resolviendo por inducción matemática
Proposición Q = { T(n) = 2n - 1}
f(n) = O(g(n))
Puesto que:
n3 + 20 n2 + 100 n <= n3 + 20 n3 + 100 n3 = 121 n3
Escogiendo C = 121 y n0 = 0
Es suficiente para que se cumpla la definición
Introducción
• Otro ejemplo, sea f(n)=lg n, y g(n)=(n/4)2
Podemos observar que:
g() g(n) < f(n) para todo n, tal que a < n < b.
• Análisis Asintótico
Definición 2
Sean f(n) y g(n) dos funciones [f,g : Z+ → R+]. Se
dice que f(n) es “Omega grande” de g(n) y se
escribe como:
f(n) = Ω(g(n))
Si existen dos constantes positivas c y n0 tal que
f(n) ≥ c g(n) para todo n≥ n0
Introducción
• Ejemplo, sea f(n)=lg n, y g(n)=(n/4)2