Você está na página 1de 25

Anlise de Algoritmos

Notao Assinttica
Letcia Rodrigues Bueno

Anlise de Algoritmos

Notao Assinttica

Para valores suficientemente pequenos de n, qualquer

algoritmo custa pouco para ser executado, mesmo os


algoritmos ineficientes;

Anlise de Algoritmos

Notao Assinttica

Para valores suficientemente pequenos de n, qualquer

algoritmo custa pouco para ser executado, mesmo os


algoritmos ineficientes;
A anlise de algoritmos realizada para valores grandes

de n considerando-se o comportamento assinttico das


funes de custo;

Anlise de Algoritmos

Notao Assinttica

Para valores suficientemente pequenos de n, qualquer

algoritmo custa pouco para ser executado, mesmo os


algoritmos ineficientes;
A anlise de algoritmos realizada para valores grandes

de n considerando-se o comportamento assinttico das


funes de custo;
O comportamento assinttico de f (n) representa o limite

do comportamento do custo quando n cresce.

Anlise de Algoritmos

Notao Assinttica: Notao O

Uma funo f (n) O(g(n)), notao f (n) = O(g(n)), se

existem duas constantes positivas c e m tais que


f (n) c.g(n), para todo n m;

Anlise de Algoritmos

Notao Assinttica: Notao O

Uma funo f (n) O(g(n)), notao f (n) = O(g(n)), se

existem duas constantes positivas c e m tais que


f (n) c.g(n), para todo n m;
f (n) = O(g(n)): g(n) limite superior para f (n);

Anlise de Algoritmos

Notao Assinttica: Notao O

Uma funo f (n) O(g(n)), notao f (n) = O(g(n)), se

existem duas constantes positivas c e m tais que


f (n) c.g(n), para todo n m;
f (n) = O(g(n)): g(n) limite superior para f (n);

f, g

c.g(n)
f (n)

Anlise de Algoritmos

Notao Assinttica: Notao O

Uma funo f (n) O(g(n)), notao f (n) = O(g(n)), se

existem duas constantes positivas c e m tais que


f (n) c.g(n), para todo n m;
f (n) = O(g(n)): g(n) limite superior para f (n);

f, g

c.g(n)
f (n)

Anlise de Algoritmos

Notao Assinttica: Notao O

Uma funo f (n) O(g(n)), notao f (n) = O(g(n)), se

existem duas constantes positivas c e m tais que


f (n) c.g(n), para todo n m;
f (n) = O(g(n)): g(n) limite superior para f (n);

f, g

c.g(n)
f (n)

Anlise de Algoritmos

Notao Assinttica: Notao


Uma funo g(n) (f (n)), notao g(n) = (f (n)), se

existem duas constantes positivas c e m tais que


g(n) c.f (n), para todo n m;

Anlise de Algoritmos

Notao Assinttica: Notao


Uma funo g(n) (f (n)), notao g(n) = (f (n)), se

existem duas constantes positivas c e m tais que


g(n) c.f (n), para todo n m;
g(n) = (f (n)): f (n) limite inferior para g(n) (tempo

mnimo do algoritmo);

Anlise de Algoritmos

Notao Assinttica: Notao


Uma funo g(n) (f (n)), notao g(n) = (f (n)), se

existem duas constantes positivas c e m tais que


g(n) c.f (n), para todo n m;
g(n) = (f (n)): f (n) limite inferior para g(n) (tempo

mnimo do algoritmo);
f, g

g(n)
c.f (n)

Anlise de Algoritmos

Notao Assinttica: Notao


Uma funo g(n) (f (n)), notao g(n) = (f (n)), se

existem duas constantes positivas c e m tais que


g(n) c.f (n), para todo n m;
g(n) = (f (n)): f (n) limite inferior para g(n) (tempo

mnimo do algoritmo);
f, g

g(n)
c.f (n)

Anlise de Algoritmos

Notao Assinttica: Notao


Uma funo g(n) (f (n)), notao g(n) = (f (n)), se

existem duas constantes positivas c e m tais que


g(n) c.f (n), para todo n m;
g(n) = (f (n)): f (n) limite inferior para g(n) (tempo

mnimo do algoritmo);
f, g

g(n)
c.f (n)

Anlise de Algoritmos

Notao Assinttica: Notao


Uma funo g(n) (f (n)), notao g(n) = (f (n)), se

existem duas constantes positivas c1 , c2 e m tais que


0 c1 .f (n) g(n) c2 .f (n), para todo n m;

Anlise de Algoritmos

Notao Assinttica: Notao


Uma funo g(n) (f (n)), notao g(n) = (f (n)), se

existem duas constantes positivas c1 , c2 e m tais que


0 c1 .f (n) g(n) c2 .f (n), para todo n m;
g(n) = (f (n)): f (n) limite restrito para g(n) ou limite

assinttico firme;

Anlise de Algoritmos

Notao Assinttica: Notao


Uma funo g(n) (f (n)), notao g(n) = (f (n)), se

existem duas constantes positivas c1 , c2 e m tais que


0 c1 .f (n) g(n) c2 .f (n), para todo n m;
g(n) = (f (n)): f (n) limite restrito para g(n) ou limite

assinttico firme;
f, g

c2 .f (n)
g(n)
c1 .f (n)

Anlise de Algoritmos

Notao Assinttica: Notao


Uma funo g(n) (f (n)), notao g(n) = (f (n)), se

existem duas constantes positivas c1 , c2 e m tais que


0 c1 .f (n) g(n) c2 .f (n), para todo n m;
g(n) = (f (n)): f (n) limite restrito para g(n) ou limite

assinttico firme;
f, g

c2 .f (n)
g(n)
c1 .f (n)

Anlise de Algoritmos

Notao Assinttica: Notao


Uma funo g(n) (f (n)), notao g(n) = (f (n)), se

existem duas constantes positivas c1 , c2 e m tais que


0 c1 .f (n) g(n) c2 .f (n), para todo n m;
g(n) = (f (n)): f (n) limite restrito para g(n) ou limite

assinttico firme;
f, g

c2 .f (n)
g(n)
c1 .f (n)

Anlise de Algoritmos

Notao Assinttica: Notaes o e

Uma funo g(n) o(f (n)), notao g(n) = o(f (n)), se,

para qualquer constante c > 0, temos 0 g(n) < c.f (n),


para todo n m;

Anlise de Algoritmos

Notao Assinttica: Notaes o e

Uma funo g(n) o(f (n)), notao g(n) = o(f (n)), se,

para qualquer constante c > 0, temos 0 g(n) < c.f (n),


para todo n m;
Uma funo g(n) (f (n)), notao g(n) = (f (n)), se,

para qualquer constante c > 0, temos 0 c.f (n) < g(n),


para todo n m;

Anlise de Algoritmos

Notao Assinttica: Notaes o e

Uma funo g(n) o(f (n)), notao g(n) = o(f (n)), se,

para qualquer constante c > 0, temos 0 g(n) < c.f (n),


para todo n m;
Uma funo g(n) (f (n)), notao g(n) = (f (n)), se,

para qualquer constante c > 0, temos 0 c.f (n) < g(n),


para todo n m;

Anlise de Algoritmos

Comparao de Funes
Muitas das propriedades relacionais de nmeros reais tambm
se aplicam a comparaes assintticas. No caso das
propriedades abaixo, suponha f (n) e g(n) assintoticamente
positivas.
1. Transitividade (vlido tambm para O, , o e ):
f (n) = (g(n)) e g(n) = (h(n)) ento f (n) = (h(n)).
2. Reflexividade (vlido tambm para O e ):
f (n) = (f (n))
3. Simetria:
f (n) = (g(n)) se e somente se g(n) = (f (n))
4. Simetria de transposio:
f (n) = O(g(n)) se e somente se g(n) = (f (n))
f (n) = o(g(n)) se e somente se g(n) = (f (n))

Anlise de Algoritmos

Regras de Simplificao

1. Se f1 (n) = O(g1 (n)) e f2 (n) = O(g2 (n)), ento f1 (n) + f2 (n)


est em O(max(g1 (n), g2 (n))).
2. Se f1 (n) = O(g1 (n)) e f2 (n) = O(g2 (n)), ento f1 (n)f2 (n)
est em O(g1 (n)g2 (n)).

Anlise de Algoritmos

Bibliografia

CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L. e STEIN, C.


Introduction to Algorithms, 3a edio, MIT Press, 2009.
SZWARCFITER, J. L. e MARKENZON, L. Estruturas de Dados e
seus Algoritmos, LTC, 1994.
ZIVIANI, N. Projeto de Algoritmos: com implementaes em Pascal e
C, 2a edio, Cengage Learning, 2009.

Você também pode gostar