Escolar Documentos
Profissional Documentos
Cultura Documentos
? Sendo A e B dois conjuntos no vazios em uma relao f de A em B, essa relao f uma funo de A em B quando a cada elemento de x do conjunto A est associado um e um s elemento y do conjunto B.
Notao (mega)
g(n) = f(n) : g(n) de ordem, no mnimo, f(n) f(n) um limite assinttico inferior g(n) cresce, pelo menos, to rpido quanfo f define um limite assinttico inferior para g(n) Se g(n) f(n) ento g(n) = f(n) g(n) f(n) ento existe c 0 e n tal que 0 cf(n) g(n), para todo n n. A notao usada para expressar o limite inferior do tempo de execuo de qualquer algoritmo para resolver um dado problema. Exemplos: (1) n2 (n) (2) n (log n) (3) Se f(n) = 7n3 + 5 e g(n) = 2n, ento g(n) f(n) Observao: o limite inferior para qualquer algoritmo de ordenao que utilize comparaes entre elementos (n log n)
Notao 0
g(n) = 0 f(n) : g(n) de ordem, no mximo, f(n) g(n) cresce, no mximo, to rpido quanfo f f(n) domina assintoticamente g(n)
Se g(n) 0 f(n) ento g(n) = 0 f(n) g(n) 0 f(n) ento existe c 0 e n tal que g(n) c f(n), para todo n n. A notao 0 usada para expressar o limite superior do tempo de execuo de um algoritmo para resolver um dado problema. Exemplos: (1) n 0 (n2) (2) log n 0 ( n) (3) 3n3 0 (n3) Obs 1: Se f(n)= 0(1) o algoritmo independe do tamanho de n, as instrues so executadas um nmero fixo de vezes. Obs 2: a notao 0 usamos para nos referirmos a algoritmos enquanto a notao usamos para nos referirmos a problemas.
Notao (teta)
g(n) = f(n) : g(n) da mesma ordem que f(n)
g(n) f(n) ento existe c1 0 e , c2 0 n tal que 0 c1 f(n) g(n) c2 f(n), para todo n n A notao 0 usada para expressar funes que crescem com a mesma rapidez para resolver um dado problema. Exemplos: (1) Verifica-se facilmente que 2n2 - 3n = (n2) Observao: a notao 0 usada para algoritmos enquanto a notao usamos para problemas e a notao depende de ambos.
Observaes:
Sejam dois algoritmos F e G. Se o algoritmo de F leva 3 vezes mais tempo que G para ser executado:
f(n) = 3 g(n), sendo que f(n) = 0 g(n) e ao mesmo tempo g(n) = 0 f(n), ou ainda podemos escrever: 0 f(n) = 0 g(n), ambos tem complexidade equivalente.
Se f(n)= 0(1) o algoritmo independe do tamanho de n, as instrues so executadas um nmero fixo de vezes.
f(n) = 0 (log n) ocorre tipicamente em algoritmo que resolvem um problema transformando-o em problemas menores.
f(n) = 0 (n log n) ocorre tipicamente em algoritmos que resolvem um problema quebrando-o em problemas menores, resolvendo cada um deles independentemente e depois juntando as solues.
f(n) = 0(n2) ocorre tipicamente quando os itens de dados so processados aos pares, em um, loop dentro de outro.
f(n) = 0 (2n) so os algoritmos do tipo fora-bruta, nada prticos para processar ordenao.