17
Análisis de Algoritmo Pedro Avaria

Complejidad algoritmo

Embed Size (px)

Citation preview

Page 1: Complejidad algoritmo

Análisis de Algoritmo

Pedro Avaria

Page 2: Complejidad algoritmo

Complejidad del algoritmo

Page 3: Complejidad algoritmo

El tamaño del problema determina la complejidad del algoritmo

Page 4: Complejidad algoritmo

La complejidad de algoritmo

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

utiliza.

Page 5: Complejidad algoritmo

Con espacio como recurso

Nos referimos a la cantidad de memoria que utiliza

Page 6: Complejidad algoritmo

En cuanto al tiempo

Nos referimos al tiempo de ejecución del algoritmo

Page 7: Complejidad algoritmo

Cada uno de los algoritmos se comporta de forma diferentes

(variables de entrada)

Page 8: Complejidad algoritmo

Por estas razones debemos estudiar el comportamiento en casos extremos

Muy ordenados o muy desordenados

Page 9: Complejidad algoritmo

Complejidad del peor caso

Este caso analiza la cantidad de operaciones que debe ejecuta el

algoritmo para encontrar una solución

Page 10: Complejidad algoritmo

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

Page 11: Complejidad algoritmo

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

Page 12: Complejidad 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

Page 13: Complejidad algoritmo

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

Page 14: Complejidad algoritmo

Cuando la complejidad algoritmo tiende a infinito su

comportamiento es asintótico

Esto se puede ver a base de su crecimiento

Page 15: Complejidad algoritmo

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.

Page 16: Complejidad algoritmo

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

Comportamiento asintótico

Page 17: Complejidad algoritmo

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