Documentos de Académico
Documentos de Profesional
Documentos de Cultura
q Evaluando el rendimiento
q Conteo de sentencias
q Notación O-Grande
q Caso peor, mejor, medio
q Tipos de algoritmos
q Reglas de notación asintótica
q Complejidad de algoritmos iterativos
q Complejidad de algoritmos recursivos
Introducción
q A posteriori (empírico)
+ Se prueba con datos reales
- Implementación del algoritmo en un computador, se corrige el código
- Sujeto a variables (hw, so, etc.)
q A priori (teórico)
+ Análisis sin implementar el código
+ Conjunto abstracto, independiente de cualquier entorno
- Los resultados empíricos pueden no coincidir exactamente (especialmente para
las entradas de tamaño pequeño) con un entorno específico
¿Complejidad algorítmica?
q Conteo de sentencia
CtoF(4) Average(3N+4) GetExtremes(8N+4)
q Algoritmos polinomiales
§ Aquellos que son proporcionales a nk
§ Factibles o aplicables: son solucionables
q Algoritmos exponenciales
§ Aquellos que son proporcionales a k n
q Sean T1(n) y T2(n) dos funciones que expresan los tiempos de ejecución
de dos fragmentos de un programa, y se acotan de forma que se tiene:
T1(n) = O(f1(n)) y T2(n) = O(f2(n))
§ Regla de la suma
T1(n) + T2(n) = O(max(f1(n),f2(n)))
q Secuencia de instrucciones
T. ejecución = S t. ejecución individuales
§ P.e.:
Sean S1 y S2, una secuencia de dos instrucciones:
T(S1 ; S2) = T(S1) + T(S2)
q Repetir la substitución
T(n) = 1 + 2T(n-1)
= 1 + [ 2 + 2T(n-2) ]
= 1 + [ 2 + ( 4 + 8T(n-3))]
...
Generalizar el patrón :
= 2i-1 + 2i T(n-i)