Você está na página 1de 14

Complexidade Algoritmo

Kenad W.A. Silva


Sumrio
Introduo
Notao O
Notao mega()
Notao Tta()
Consumo de tempo de algoritmos
Introduo
necessrio uma forma de mostrar o consumo de algoritmos
de uma maneira que no dependa da linguagem de
programao;
Todo algoritmo pode ser expresso como uma funo;
Essas funes exprimem geralmente um comparativo entre
consumo de tempo e o tamanho de sua "entrada";
Introduo
Para esse problema, leva-se em conta a "velocidade de
crescimento" que despreza valores pequenos do argumento,
essa maneira de comparar funes assinttica;
Exemplo:
a funo 2n cresce to rapidamente quanto a funo 10n;
Existem trs formas de comparao assinttica:


=
Introduo
Porque algoritmos so medidos com funes?
Notao O
Dadas funes F e G de N em R*+, dizemos que F est em O(G)
se existem c e n em N+ tais que

F(n) c * G(n)

para todo n n.
Chamado Limite assinttico superior;
Exemplo: 100n est em O(n) , pois n n*n = n para
todo n 100
Notao O
Notao mega()
Dadas funes F e G de N em R*+, dizemos que F est em O(G)
se existem c e n em N+ tais que

F(n) 1/c * G(n)

para todo n n.
Chama-se Limite assinttico inferior;
Ex: n+100n est em (n), pois n + 100n n para todo n.
Notao mega()
Notao Tta()
Dizemos que F est em (G) se F est em O(G) e
tambm em (G), ou seja, se existem c e c' em N* tais
que
1/c * G(n) F(n) c'* G(n)

para todo n suficientemente grande.

Ex: an+bn est em (n) tal que a e b E R.


Notao Tta()
Consumo de tempo de algoritmos
Um algoritmo linear se consome tempo (n) no pior
caso;
Um algoritmo lineartmico se consome tempo (n lg n)
no pior caso;
Um algoritmo quadrtico se consome tempo (n) no
pior caso;
Um algoritmo exponencial se consome tempo (n) no
pior caso, sendo k um nmero natural;
Consumo de tempo de algoritmos
Consumo de tempo de algoritmos

Você também pode gostar