Complejidad algoritmo

Preview:

Citation preview

Análisis de Algoritmo

Pedro Avaria

Complejidad del algoritmo

El tamaño del problema determina la complejidad del algoritmo

La complejidad de algoritmo

Es la medida de recursos (Tiempo y Espacio) que un algoritmo necesita o

utiliza.

Con espacio como recurso

Nos referimos a la cantidad de memoria que utiliza

En cuanto al tiempo

Nos referimos al tiempo de ejecución del algoritmo

Cada uno de los algoritmos se comporta de forma diferentes

(variables de entrada)

Por estas razones debemos estudiar el comportamiento en casos extremos

Muy ordenados o muy desordenados

Complejidad del peor caso

Este caso analiza la cantidad de operaciones que debe ejecuta el

algoritmo para encontrar una solución

Complejidad del caso promedio

Se quiere obtener el promedio de operaciones que realiza para

solucionar un problemas tomando en cuenta las posibles entradas con un

tamaño determinado

El tiempo de ejecución

Se determina a

través de la función

T(n)

Es el tiempo que se demora en ejecutar el algoritmo dependiendo de las variables de

entrada.

Se puede medir físicamente

ejecutando el algoritmo

Se requiere analizar la potencia de los algoritmos independientes en que maquinas

se ejecuten o que tan bueno sea el programador que lo codifique

Notación asintótica

La mayoría de las veces los problemas pequeños se resuelven fácilmente

Es por esto que nos interesa analizar los problemas mas grandes

Cuando la complejidad algoritmo tiende a infinito su

comportamiento es asintótico

Esto se puede ver a base de su crecimiento

Se determina a partir del tiempo de ejecución o de espacio en memoria De los

algoritmos en base a la longitud de entrada

Se denota según la notación Big-0.

Vamos a identificar los algoritmos por familias según su:

Comportamiento asintótico

Complejidad Terminología O(1) Complejidad constante O(n2) Complejidad cuadrática O(log n) Complejidad logarítmica O(n) Complejidad lineal O(n log n) Complejidad casi-lineal O(n^b) Complejidad polinómica O(b^n) Complejidad exponencial O(n!) Complejidad factorial

Recommended