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 Tempo y Espacio utilizado por un algoritmo.
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