La Complejidad en los Algoritmos
Gonzalo Retamal Cantergiani Análisis de Algoritmos
Un gran problema tendrá como resultado un gran algoritmo.
En Palabras simples
Y un problema simple tendrá como solución un algoritmo pequeño.
La Complejidad también se mide
En Tiempo y Espacio utilizado por un algoritmo.
Recurso Espacio
Memoria para
su ejecució
n
Recurso Tiempo
Cuanto demora en ejecutarse.
El Comportamiento de cada algoritmo dependerá siempre de las variables de entrada que se
dispongan.
El Peor Caso
Cuantas Operaciones Realizo para llegar a la
solución.
Caso Promedio
Se busca el promedio de operaciones realizadas con todas las posibles
entradas.
El Mejor Caso
Se llega a una solución de manera rápida.
El Análisis de Algoritmos busca saber como crece el Tiempo de
ejecuciónCuando aumenta, se utiliza la función
T(n)
Físicamente se puede medir:- Ejecutando el programa.
- Contando instrucciones a ejecutar.
- Multiplicando por el tiempo de cada instrucción.
“ Los Algoritmos se miden independientemente de la potencia de la
maquina, el código y capacidad del programador “
Notación Asintótica Cuando algo tiende a
infinito
Analiza el comportamiento de las funciones en base a su tasa de
crecimiento.
Ordenados por complejidad (O)
Complejidad
O(1)O(n2) O(log n) O(n) O(n log n) O(n^b) O(b^n)O(n!)
Terminología
Complejidad ConstanteComplejidad CuadráticaComplejidad LogarítmicaComplejidad LinealComplejidad Casi LinealComplejidad PolinómicaComplejidad ExponencialComplejidad Factorial