Sei sulla pagina 1di 29

Notacion Asintotica

Analisis y Diseno de Algoritmos

Marzo 2014

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

1/29

Complejidad
La complejidad (o costo) de un algoritmo es una medida de la
cantidad de recursos (tiempo, memoria) que el algoritmo
necesita. La complejidad de un algoritmo se expresa en
funcion del tamano del problema (entradas). El
comportamiento de la funcion determina la eficiencia. No es
unica para un algoritmo, depende de los datos.

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

2/29


Ordenes
de Complejidad
Se dice que O(f (n)) define un orden de complejidad.
Escogeremos como representante de este orden a la funcion
f (n) mas sencilla del mismo. As tendremos:
O(1) Orden Constante
O(log n) Orden Logartmico
O(n) Orden Lineal
O(n log n) Log-lineal (cuasilineal)
O(n2 ) Orden Cuadratico
O(n3 ) Orden Cubico
O(na ) Orden Polinomial a > 3
O(an ) Orden Exponencial a > 1
O(n!) Orden Factorial
An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

3/29

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

4/29

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

5/29

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

6/29

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

7/29

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

8/29

Notacion Asintotica
El interes principal del analisis y diseno de algoritmos radica en
saber como crece el tiempo de ejecucion, cuando el tamano de
la entrada crece. Esto es la eficiencia asintotica del algoritmo.
Se denomina asintotica porque analiza el comportamiento de
las funciones en el lmite, es decir su tasa de crecimiento
(infinito).

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

9/29

Notacion Asintotica
Se describe por medio de una funcion cuyo dominio son
los numeros naturales, estimado a partir de tiempo de
ejecucion de algoritmos en base a la longitud de la
entrada.
Se consideran las funciones asintoticamente no negativas.
Captura el comportamiento de la funcion para valores
grandes de n (entrada).
Los tres tipos de notacion mas usados son O-grande,
-grande y .

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

10/29

O-Grande
Es el metodo mas usado para expresar la complejidad de un
algoritmo. Este denota el lmite o cota superior de la funcion
de complejidad. Para una funcion dada g (n), la expresion
O(g (n)) (se lee como O grande de g de n), representa el
siguiente conjunto de funciones:
O(g (n)) = f (n): existen constantes positivas c y n0 tal
que 0 f (n) g (n) para todas n > n0
Podemos escribir f (n) O(g (n)) porque O(g (n)) es un
conjunto, pero es conveniente escribirlo as f (n) = O(g (n))

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

11/29

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

12/29

O-Grande: Propiedades
f (x)
g (n)
limx gf (x)
(n)
f (x)
limx g (n)

limx

< f (n) O(g (n)) g (n) O(f (n))


0 f (n) O(g (n)) g (n)
/ O(f (n))
f (n)
/ O(g (n)) g (n) O(f (n))

O(f (n)) + O(g (n)) O(max(f (n), g (n))


O(c f (n)) O(f (n))
O(f (n)) O(g (n)) O(f (n) g (n))
f (n) = am nm + am1 nm1 + . . . + a1 n + a0 O(nm )

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

13/29

O-Grande: Ejemplo
3n2 100n + 6 = O(n2 ) ?

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

14/29

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

15/29

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

16/29

O-Grande: Ejemplo
3n2 100n + 6 = O(n3 ) ?

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

17/29

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

18/29

O-Grande: Ejemplo
3n2 100n + 6 = O(n) ?

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

19/29

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

20/29

Grande
Esta notacion es el inverso de la O-grande. Es usada para
expresar la cota inferior. Para una funcion dada g (n), la
expresion (g (n)) (se lee como grande de g de n),
representa el siguiente conjunto de funciones:
(g (n)) = f (n): existen constantes positivas c y n0 tal
que 0 cg (n) f (n) para todas n > n0

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

21/29

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

22/29

Grande : Propiedades
f (x)
g (n)
limx gf (x)
(n)
f (x)
limx g (n)

limx

< f (n) (g (n)) g (n) (f (n))


0 f (n)
/ (g (n)) g (n) (f (n))
f (n) (g (n)) g (n)
/ (f (n))

(f (n)) + (g (n)) (max(f (n), g (n))


(c f (n)) (f (n))
(f (n)) (g (n)) (f (n) g (n))
f (n) = am nm + am1 nm1 + . . . + a1 n + a0 (nm )
si am > 0

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

23/29

Grande : Ejemplo
3n2 100n + 6 = (n2 ) ?
3n2 100n + 6 = (n3 ) ?
3n2 100n + 6 = (n) ?

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

24/29

Grande
Esta notacion expresa el orden exacto o promedio. Para una
funcion dada g (n), la expresion (g (n)) (se lee como
grande de g de n), representa el siguiente conjunto de
funciones:
(g (n)) = f (n): existen constantes positivas c1, c2 y n0
tal que 0 c1g (n) f (n) c2g (n) para todas n > n0
Una funcion f (n) puede ser escrita como f (n) = (g (n)) si
hay coeficientes positivos c1 y c2 tales que f (n) puede estar
entre c1g (n) y c2g (n)

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

25/29

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

26/29

Grande : Propiedades
f (x)
g (n)
limx gf (x)
(n)
f (x)
limx g (n)

limx

< f (n) (g (n))


0 f (n) O(g (n)) g (n)
/ (f (n))
f (n) (g (n)) g (n)
/ (f (n))

(f (n)) + (g (n)) (max(f (n), g (n))


(c f (n)) (f (n))
(f (n)) (g (n)) (f (n) g (n))
f (n) = am nm + am1 nm1 + . . . + a1 n + a0 (nm )
si am > 0

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

27/29

Grande : Ejemplo
3n2 100n + 6 = (n2 ) ?
3n2 100n + 6 = (n3 ) ?
3n2 100n + 6 = (n) ?

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

28/29

Tarea
De las siguientes afirmaciones indicar si es cierta/falsa junto a
su demostracion as como su grafica
n2 O(n3 )
n3 O(n2 )
2( n + 1) O(2n )
3n O(2n )
n2 (n3 )
n3 (n2 )
2( n + 1) (2n )
3n (2n )
http://rechneronline.de/function-graphs/

An
alisis y Dise
no de Algoritmos Notaci
on Asint
otica

29/29

Potrebbero piacerti anche