1) O documento discute as notações Ω, ω e Θ para análise assintótica de algoritmos, que fornecem limites inferiores e superiores para a taxa de crescimento de funções.
2) A notação Ω descreve um limite inferior, significando que a função cresce no mínimo tão lentamente quanto outra função. Já a notação ω indica que uma função cresce mais rápido que outra quando n tende ao infinito.
3) Exemplos ilustram como determinar se uma função pertence ou não a Ω ou ω de
(ACH2002) Introdução à Análise de Algoritmos - Aula 08
1. Aula 08 – An´alise Assint´otica de
Algoritmos: Nota¸c˜ao Ω, ω e Θ
Norton Trevisan Roman
norton@usp.br
18 de setembro de 2018
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 1 / 21
2. Nota¸c˜ao Ω
Defini¸c˜ao
Uma fun¸c˜ao g(n) ´e Ω(f (n)) se existirem constantes
positivas c e m tais que 0 ≤ cf (n) ≤ g(n), para todo
n ≥ m
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 2 / 21
3. Nota¸c˜ao Ω
Defini¸c˜ao
Uma fun¸c˜ao g(n) ´e Ω(f (n)) se existirem constantes
positivas c e m tais que 0 ≤ cf (n) ≤ g(n), para todo
n ≥ m
Informalmente, dizemos
que, se g(n) ∈ Ω(f (n)),
ent˜ao g(n) cresce no
m´ınimo t˜ao lentamente
quanto f (n)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 2 / 21
4. Nota¸c˜ao Ω
Defini¸c˜ao
Uma fun¸c˜ao g(n) ´e Ω(f (n)) se existirem constantes
positivas c e m tais que 0 ≤ cf (n) ≤ g(n), para todo
n ≥ m
Informalmente, dizemos
que, se g(n) ∈ Ω(f (n)),
ent˜ao g(n) cresce no
m´ınimo t˜ao lentamente
quanto f (n)
Trata-se ent˜ao de um limite assint´otico inferior
para g(n)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 2 / 21
5. Nota¸c˜ao Ω
Exemplo
3n3
+ 2n ∈ Ω(n3
)?
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 3 / 21
6. Nota¸c˜ao Ω
Exemplo
3n3
+ 2n ∈ Ω(n3
)?
Fazendo c = 1 temos 3n3
+ 2n ≥ n3
, para n ≥ 0 (m = 0)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 3 / 21
7. Nota¸c˜ao Ω
Exemplo
3n3
+ 2n ∈ Ω(n3
)?
Fazendo c = 1 temos 3n3
+ 2n ≥ n3
, para n ≥ 0 (m = 0)
3
2
n2
− 2n ∈ Ω(n2
)?
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 3 / 21
8. Nota¸c˜ao Ω
Exemplo
3n3
+ 2n ∈ Ω(n3
)?
Fazendo c = 1 temos 3n3
+ 2n ≥ n3
, para n ≥ 0 (m = 0)
3
2
n2
− 2n ∈ Ω(n2
)?
Fazendo c = 1
2
temos 3
2
n2
− 2n ≥ 1
2
n2
, para n ≥ 2 (m = 2)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 3 / 21
9. Nota¸c˜ao Ω
Uma vez que Ω descreve um limite inferior para o
algoritmo, quando o usamos com o melhor caso
estamos tamb´em limitando o algoritmo com
qualquer entrada
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 4 / 21
10. Nota¸c˜ao Ω
Uma vez que Ω descreve um limite inferior para o
algoritmo, quando o usamos com o melhor caso
estamos tamb´em limitando o algoritmo com
qualquer entrada
Quando dizemos que um algoritmo ´e Ω(f (n)), isso
significa que, a despeito da entrada escolhida, o
tempo de execu¸c˜ao ser´a pelo menos c × f (n), para
n suficientemente grande
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 4 / 21
11. Nota¸c˜ao ω
Defini¸c˜ao
Uma fun¸c˜ao g(n) ´e ω(f (n)) se, para toda constante
c > 0, existe uma constante m > 0 tal que
0 ≤ cf (n) < g(n), para todo n ≥ m
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 5 / 21
12. Nota¸c˜ao ω
Defini¸c˜ao
Uma fun¸c˜ao g(n) ´e ω(f (n)) se, para toda constante
c > 0, existe uma constante m > 0 tal que
0 ≤ cf (n) < g(n), para todo n ≥ m
Informalmente, dizemos que, se g(n) ∈ ω(f (n)),
ent˜ao g(n) cresce mais rapidamente que f (n)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 5 / 21
13. Nota¸c˜ao ω
Defini¸c˜ao
Uma fun¸c˜ao g(n) ´e ω(f (n)) se, para toda constante
c > 0, existe uma constante m > 0 tal que
0 ≤ cf (n) < g(n), para todo n ≥ m
Informalmente, dizemos que, se g(n) ∈ ω(f (n)),
ent˜ao g(n) cresce mais rapidamente que f (n)
Intuitivamente, na nota¸c˜ao ω a fun¸c˜ao g(n) tem crescimento
muito maior que f (n) quando n tende para o infinito
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 5 / 21
14. Nota¸c˜ao ω
Defini¸c˜ao
Uma fun¸c˜ao g(n) ´e ω(f (n)) se, para toda constante
c > 0, existe uma constante m > 0 tal que
0 ≤ cf (n) < g(n), para todo n ≥ m
Informalmente, dizemos que, se g(n) ∈ ω(f (n)),
ent˜ao g(n) cresce mais rapidamente que f (n)
Intuitivamente, na nota¸c˜ao ω a fun¸c˜ao g(n) tem crescimento
muito maior que f (n) quando n tende para o infinito
Ou seja, lim
n→∞
g(n)
f (n)
= ∞
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 5 / 21
15. Diferen¸ca entre Ω e ω
Ω(f (n)) = {g(n): existem constantes positivas c e
m tais que 0 ≤ cf (n) ≤ g(n), para todo n ≥ m}
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 6 / 21
16. Diferen¸ca entre Ω e ω
Ω(f (n)) = {g(n): existem constantes positivas c e
m tais que 0 ≤ cf (n) ≤ g(n), para todo n ≥ m}
A express˜ao 0 ≤ cf (n) ≤ g(n) ´e v´alida para alguma
constante c > 0
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 6 / 21
17. Diferen¸ca entre Ω e ω
Ω(f (n)) = {g(n): existem constantes positivas c e
m tais que 0 ≤ cf (n) ≤ g(n), para todo n ≥ m}
A express˜ao 0 ≤ cf (n) ≤ g(n) ´e v´alida para alguma
constante c > 0
ω(f (n)) = {g(n): para toda constante positiva c,
existe uma constante m > 0 tal que
0 ≤ cf (n) < g(n), para todo n ≥ m}.
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 6 / 21
18. Diferen¸ca entre Ω e ω
Ω(f (n)) = {g(n): existem constantes positivas c e
m tais que 0 ≤ cf (n) ≤ g(n), para todo n ≥ m}
A express˜ao 0 ≤ cf (n) ≤ g(n) ´e v´alida para alguma
constante c > 0
ω(f (n)) = {g(n): para toda constante positiva c,
existe uma constante m > 0 tal que
0 ≤ cf (n) < g(n), para todo n ≥ m}.
A express˜ao 0 ≤ cf (n) < g(n) ´e v´alida para toda constante
c > 0
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 6 / 21
19. Diferen¸ca entre Ω e ω
Ω(f (n)) = {g(n): existem constantes positivas c e
m tais que 0 ≤ cf (n) ≤ g(n), para todo n ≥ m}
A express˜ao 0 ≤ cf (n) ≤ g(n) ´e v´alida para alguma
constante c > 0
ω(f (n)) = {g(n): para toda constante positiva c,
existe uma constante m > 0 tal que
0 ≤ cf (n) < g(n), para todo n ≥ m}.
A express˜ao 0 ≤ cf (n) < g(n) ´e v´alida para toda constante
c > 0
ω est´a para Ω da mesma forma que o est´a para O
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 6 / 21
20. Nota¸c˜ao ω
Exemplo
n2
2
∈ ω(n)?
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 7 / 21
21. Nota¸c˜ao ω
Exemplo
n2
2
∈ ω(n)?
Buscamos um m tal que, para todo c e n ≥ m,
n2
2
> cn
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 7 / 21
22. Nota¸c˜ao ω
Exemplo
n2
2
∈ ω(n)?
Buscamos um m tal que, para todo c e n ≥ m,
n2
2
> cn
⇒
n
2
> c (dividindo ambos os lados por n)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 7 / 21
23. Nota¸c˜ao ω
Exemplo
n2
2
∈ ω(n)?
Buscamos um m tal que, para todo c e n ≥ m,
n2
2
> cn
⇒
n
2
> c (dividindo ambos os lados por n)
⇒ n > 2c
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 7 / 21
24. Nota¸c˜ao ω
Exemplo
n2
2
∈ ω(n)?
Buscamos um m tal que, para todo c e n ≥ m,
n2
2
> cn
⇒
n
2
> c (dividindo ambos os lados por n)
⇒ n > 2c
Ou seja, para todo valor de c, um m que satisfaz a defini¸c˜ao
´e m = 2c + 1 (pois n ≥ m e n > 2c)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 7 / 21
25. Nota¸c˜ao ω
Exemplo
n2
2
∈ ω(n2
)?
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 8 / 21
26. Nota¸c˜ao ω
Exemplo
n2
2
∈ ω(n2
)?
Buscamos um m tal que, para todo c e n ≥ m,
n2
2
> cn2
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 8 / 21
27. Nota¸c˜ao ω
Exemplo
n2
2
∈ ω(n2
)?
Buscamos um m tal que, para todo c e n ≥ m,
n2
2
> cn2
Mas
n2
2
> cn2
⇒
1
2
> c (caso em que vale para todo n > 0)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 8 / 21
28. Nota¸c˜ao ω
Exemplo
n2
2
∈ ω(n2
)?
Buscamos um m tal que, para todo c e n ≥ m,
n2
2
> cn2
Mas
n2
2
> cn2
⇒
1
2
> c (caso em que vale para todo n > 0)
Ou seja, n˜ao h´a m tal que, para todo c e n ≥ m,
n2
2
> cn2
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 8 / 21
29. Nota¸c˜ao ω
Exemplo
n2
2
∈ ω(n2
)?
Buscamos um m tal que, para todo c e n ≥ m,
n2
2
> cn2
Mas
n2
2
> cn2
⇒
1
2
> c (caso em que vale para todo n > 0)
Ou seja, n˜ao h´a m tal que, para todo c e n ≥ m,
n2
2
> cn2
Logo,
n2
2
∈ ω(n2
)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 8 / 21
30. Nota¸c˜ao Θ
Defini¸c˜ao
Uma fun¸c˜ao g(n) ´e Θ(f (n)) se existirem constantes
positivas c1, c2 e m tais que 0 ≤ c1f (n) ≤ g(n) ≤ c2f (n)
para todo n ≥ m
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 9 / 21
31. Nota¸c˜ao Θ
Defini¸c˜ao
Uma fun¸c˜ao g(n) ´e Θ(f (n)) se existirem constantes
positivas c1, c2 e m tais que 0 ≤ c1f (n) ≤ g(n) ≤ c2f (n)
para todo n ≥ m
Informalmente, dizemos
que, se g(n) ∈ Θ(f (n)),
ent˜ao g(n) cresce t˜ao
rapidamente quanto
f (n)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 9 / 21
32. Nota¸c˜ao Θ
Defini¸c˜ao
Uma fun¸c˜ao g(n) ´e Θ(f (n)) se existirem constantes
positivas c1, c2 e m tais que 0 ≤ c1f (n) ≤ g(n) ≤ c2f (n)
para todo n ≥ m
Informalmente, dizemos
que, se g(n) ∈ Θ(f (n)),
ent˜ao g(n) cresce t˜ao
rapidamente quanto
f (n)
Trata-se de um limite assint´otico firme para g(n)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 9 / 21
33. Nota¸c˜ao Θ
Exemplo
3
2
n2
− 2n ∈ Θ(n2
)?
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 10 / 21
34. Nota¸c˜ao Θ
Exemplo
3
2
n2
− 2n ∈ Θ(n2
)?
Queremos c1 e c2 tais que c1n2
≤
3
2
n2
− 2n ≤ c2n2
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 10 / 21
35. Nota¸c˜ao Θ
Exemplo
3
2
n2
− 2n ∈ Θ(n2
)?
Queremos c1 e c2 tais que c1n2
≤
3
2
n2
− 2n ≤ c2n2
Fazendo c1 =
1
2
e c2 =
3
2
temos que
1
2
n2
≤
3
2
n2
− 2n ≤
3
2
n2
, para n ≥ 2 (m = 2)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 10 / 21
36. Nota¸c˜ao Θ
Exemplo
3
2
n2
− 2n ∈ Θ(n2
)?
Queremos c1 e c2 tais que c1n2
≤
3
2
n2
− 2n ≤ c2n2
Fazendo c1 =
1
2
e c2 =
3
2
temos que
1
2
n2
≤
3
2
n2
− 2n ≤
3
2
n2
, para n ≥ 2 (m = 2)
Outras constantes podem existir, mas o importante ´e que
existe alguma escolha para as 3 (m, c1 e c2)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 10 / 21
37. Nota¸c˜ao Θ
Mas...
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 11 / 21
38. Nota¸c˜ao Θ
Mas...
3
2
n2
− 2n ∈ O(n2
), pois
3
2
n2
− 2n ≤
3
2
n2
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 11 / 21
39. Nota¸c˜ao Θ
Mas...
3
2
n2
− 2n ∈ O(n2
), pois
3
2
n2
− 2n ≤
3
2
n2
e
3
2
n2
− 2n ∈ Ω(n2
), pois
1
2
n2
≤
3
2
n2
− 2n
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 11 / 21
40. Nota¸c˜ao Θ
Mas...
3
2
n2
− 2n ∈ O(n2
), pois
3
2
n2
− 2n ≤
3
2
n2
e
3
2
n2
− 2n ∈ Ω(n2
), pois
1
2
n2
≤
3
2
n2
− 2n
Ser´a coincidˆencia?
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 11 / 21
41. Nota¸c˜ao Θ
Mas...
3
2
n2
− 2n ∈ O(n2
), pois
3
2
n2
− 2n ≤
3
2
n2
e
3
2
n2
− 2n ∈ Ω(n2
), pois
1
2
n2
≤
3
2
n2
− 2n
Ser´a coincidˆencia?
N˜ao!
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 11 / 21
42. Nota¸c˜ao Θ
Mas...
3
2
n2
− 2n ∈ O(n2
), pois
3
2
n2
− 2n ≤
3
2
n2
e
3
2
n2
− 2n ∈ Ω(n2
), pois
1
2
n2
≤
3
2
n2
− 2n
Ser´a coincidˆencia?
N˜ao!
Se g(n) ∈ O(f (n)) e g(n) ∈ Ω(f (n)), ent˜ao
g(n) ∈ Θ(f (n))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 11 / 21
43. Nota¸c˜ao Θ
Ou seja...
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 12 / 21
44. Nota¸c˜ao Θ
Ou seja...
O
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 12 / 21
45. Nota¸c˜ao Θ
Ou seja...
O + Ω
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 12 / 21
46. Nota¸c˜ao Θ
Ou seja...
O + Ω = Θ
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 12 / 21
47. Nota¸c˜ao Θ
Ou seja...
O + Ω = Θ
Quando g(n) = Θ(f (n)), podemos dizer que, para
todo n ≥ m, g(n) ´e igual a f (n) a menos de uma
constante.
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 12 / 21
48. Nota¸c˜ao Θ
E θ?
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 13 / 21
49. Nota¸c˜ao Θ
E θ?
Um θ(n) = ø(n) + ω(n)?
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 13 / 21
50. Nota¸c˜ao Θ
E θ?
Um θ(n) = ø(n) + ω(n)?
Lembre que o(n) ⇒ lim
n→∞
g(n)
f (n)
= 0
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 13 / 21
51. Nota¸c˜ao Θ
E θ?
Um θ(n) = ø(n) + ω(n)?
Lembre que o(n) ⇒ lim
n→∞
g(n)
f (n)
= 0
E que ω(n) ⇒ lim
n→∞
g(n)
f (n)
= ∞
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 13 / 21
52. Nota¸c˜ao Θ
E θ?
Um θ(n) = ø(n) + ω(n)?
Lembre que o(n) ⇒ lim
n→∞
g(n)
f (n)
= 0
E que ω(n) ⇒ lim
n→∞
g(n)
f (n)
= ∞
Como ent˜ao lim
n→∞
g(n)
f (n)
= 0 e ∞?
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 13 / 21
53. Nota¸c˜ao Θ
E θ?
Um θ(n) = ø(n) + ω(n)?
Lembre que o(n) ⇒ lim
n→∞
g(n)
f (n)
= 0
E que ω(n) ⇒ lim
n→∞
g(n)
f (n)
= ∞
Como ent˜ao lim
n→∞
g(n)
f (n)
= 0 e ∞? N˜ao h´a θ(n)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 13 / 21
54. Classes de Comportamento Assint´otico
Uma vez que O, o, Ω, ω e Θ referem-se a conjuntos
de fun¸c˜oes, podemos dizer que, se f (n) ∈ O(g(n)),
ent˜ao f (n) ´e da classe O(g(n))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 14 / 21
55. Classes de Comportamento Assint´otico
Uma vez que O, o, Ω, ω e Θ referem-se a conjuntos
de fun¸c˜oes, podemos dizer que, se f (n) ∈ O(g(n)),
ent˜ao f (n) ´e da classe O(g(n))
A rela¸c˜ao entre as
classes ent˜ao fica:
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 14 / 21
56. Classes de Comportamento Assint´otico
Exemplos de classes
f (n) ∈ O(1): complexidade constante
f (n) ∈ O(log(n)): complexidade logar´ıtmica
f (n) ∈ O(n): complexidade linear
f (n) ∈ O(n2
): complexidade quadr´atica
f (n) ∈ O(n3
): complexidade c´ubica
f (n) ∈ O(cn
), c > 1: complexidade exponencial
etc
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 15 / 21
57. Classes de Comportamento Assint´otico
Nota¸c˜ao assint´otica em equa¸c˜oes e inequa¸c˜oes
Podemos usar a nota¸c˜ao assint´otica como parte de
express˜oes
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 16 / 21
58. Classes de Comportamento Assint´otico
Nota¸c˜ao assint´otica em equa¸c˜oes e inequa¸c˜oes
Podemos usar a nota¸c˜ao assint´otica como parte de
express˜oes
Representando assim fun¸c˜oes cuja especifica¸c˜ao n˜ao nos
interessa, e eliminando detalhes n˜ao essenciais, como
opera¸c˜oes n˜ao relevantes num algoritmo, por exemplo
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 16 / 21
59. Classes de Comportamento Assint´otico
Nota¸c˜ao assint´otica em equa¸c˜oes e inequa¸c˜oes
Podemos usar a nota¸c˜ao assint´otica como parte de
express˜oes
Representando assim fun¸c˜oes cuja especifica¸c˜ao n˜ao nos
interessa, e eliminando detalhes n˜ao essenciais, como
opera¸c˜oes n˜ao relevantes num algoritmo, por exemplo
Ex:
Em vez de 2n2
+ 3n + 1, podemos escrever 2n2
+ Θ(n)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 16 / 21
60. Classes de Comportamento Assint´otico
Nota¸c˜ao assint´otica em equa¸c˜oes e inequa¸c˜oes
Podemos usar a nota¸c˜ao assint´otica como parte de
express˜oes
Representando assim fun¸c˜oes cuja especifica¸c˜ao n˜ao nos
interessa, e eliminando detalhes n˜ao essenciais, como
opera¸c˜oes n˜ao relevantes num algoritmo, por exemplo
Ex:
Em vez de 2n2
+ 3n + 1, podemos escrever 2n2
+ Θ(n)
Isso equivale a dizer que 2n2
+ 3n + 1 = 2n2
+ f (n), onde
f (n) ∈ Θ(n)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 16 / 21
61. Classes de Comportamento Assint´otico
Nota¸c˜ao assint´otica em equa¸c˜oes e inequa¸c˜oes
Em alguns casos, usamos a nota¸c˜ao do lado
esquerdo de equa¸c˜oes
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 17 / 21
62. Classes de Comportamento Assint´otico
Nota¸c˜ao assint´otica em equa¸c˜oes e inequa¸c˜oes
Em alguns casos, usamos a nota¸c˜ao do lado
esquerdo de equa¸c˜oes
Ex: 2n2
+ Θ(n) = Θ(n2
)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 17 / 21
63. Classes de Comportamento Assint´otico
Nota¸c˜ao assint´otica em equa¸c˜oes e inequa¸c˜oes
Em alguns casos, usamos a nota¸c˜ao do lado
esquerdo de equa¸c˜oes
Ex: 2n2
+ Θ(n) = Θ(n2
)
Com isso, estamos dizendo que, independentemente da
fun¸c˜ao escolhida `a esquerda do ‘=’, existe ao menos uma
escolha para a fun¸c˜ao `a direita, de modo a tornar a equa¸c˜ao
v´alida
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 17 / 21
64. Classes de Comportamento Assint´otico
Nota¸c˜ao assint´otica em equa¸c˜oes e inequa¸c˜oes
Em alguns casos, usamos a nota¸c˜ao do lado
esquerdo de equa¸c˜oes
Ex: 2n2
+ Θ(n) = Θ(n2
)
Com isso, estamos dizendo que, independentemente da
fun¸c˜ao escolhida `a esquerda do ‘=’, existe ao menos uma
escolha para a fun¸c˜ao `a direita, de modo a tornar a equa¸c˜ao
v´alida
Nesse caso, estamos dizendo que, para qualquer fun¸c˜ao
f (n) ∈ Θ(n), existe alguma fun¸c˜ao g(n) ∈ Θ(n2
) tal que
2n2
+ f (n) = g(n), para todo n
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 17 / 21
65. Classes de Comportamento Assint´otico
Nota¸c˜ao assint´otica em equa¸c˜oes e inequa¸c˜oes
Podemos tamb´em encadear essas rela¸c˜oes
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 18 / 21
66. Classes de Comportamento Assint´otico
Nota¸c˜ao assint´otica em equa¸c˜oes e inequa¸c˜oes
Podemos tamb´em encadear essas rela¸c˜oes
Ex:
2n2
+ 3n + 1 = 2n2
+ Θ(n)
= Θ(n2
)
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 18 / 21
67. Classes de Comportamento Assint´otico
Nota¸c˜ao assint´otica em equa¸c˜oes e inequa¸c˜oes
Podemos tamb´em encadear essas rela¸c˜oes
Ex:
2n2
+ 3n + 1 = 2n2
+ Θ(n)
= Θ(n2
)
A primeira equa¸c˜ao diz que h´a alguma fun¸c˜ao f (n) ∈ Θ(n)
tal que 2n2
+ 3n + 1 = 2n2
+ f (n), para todo n
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 18 / 21
68. Classes de Comportamento Assint´otico
Nota¸c˜ao assint´otica em equa¸c˜oes e inequa¸c˜oes
Podemos tamb´em encadear essas rela¸c˜oes
Ex:
2n2
+ 3n + 1 = 2n2
+ Θ(n)
= Θ(n2
)
A primeira equa¸c˜ao diz que h´a alguma fun¸c˜ao f (n) ∈ Θ(n)
tal que 2n2
+ 3n + 1 = 2n2
+ f (n), para todo n
A segunda diz que, para qualquer fun¸c˜ao g(n) ∈ Θ(n), h´a
aguma fun¸c˜ao h(n) ∈ Θ(n2
), tal que 2n2
+ g(n) = h(n),
para todo n
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 18 / 21
70. Propriedades das Classes
Reflexividade:
f (n) = O(f (n))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 19 / 21
71. Propriedades das Classes
Reflexividade:
f (n) = O(f (n))
f (n) = Ω(f (n))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 19 / 21
72. Propriedades das Classes
Reflexividade:
f (n) = O(f (n))
f (n) = Ω(f (n))
f (n) = Θ(f (n))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 19 / 21
73. Propriedades das Classes
Reflexividade:
f (n) = O(f (n))
f (n) = Ω(f (n))
f (n) = Θ(f (n))
Simetria:
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 19 / 21
74. Propriedades das Classes
Reflexividade:
f (n) = O(f (n))
f (n) = Ω(f (n))
f (n) = Θ(f (n))
Simetria:
f (n) ∈ Θ(g(n)) se e somente se g(n) ∈ Θ(f (n))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 19 / 21
75. Propriedades das Classes
Reflexividade:
f (n) = O(f (n))
f (n) = Ω(f (n))
f (n) = Θ(f (n))
Simetria:
f (n) ∈ Θ(g(n)) se e somente se g(n) ∈ Θ(f (n))
Simetria Transposta:
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 19 / 21
76. Propriedades das Classes
Reflexividade:
f (n) = O(f (n))
f (n) = Ω(f (n))
f (n) = Θ(f (n))
Simetria:
f (n) ∈ Θ(g(n)) se e somente se g(n) ∈ Θ(f (n))
Simetria Transposta:
f (n) ∈ O(g(n)) se e somente se g(n) ∈ Ω(f (n))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 19 / 21
77. Propriedades das Classes
Reflexividade:
f (n) = O(f (n))
f (n) = Ω(f (n))
f (n) = Θ(f (n))
Simetria:
f (n) ∈ Θ(g(n)) se e somente se g(n) ∈ Θ(f (n))
Simetria Transposta:
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))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 19 / 21
79. Propriedades das Classes
Transitividade:
Se f (n) ∈ Θ(g(n)) e g(n) ∈ Θ(h(n)), ent˜ao f (n) ∈ Θ(h(n))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 20 / 21
80. Propriedades das Classes
Transitividade:
Se f (n) ∈ Θ(g(n)) e g(n) ∈ Θ(h(n)), ent˜ao f (n) ∈ Θ(h(n))
Se f (n) ∈ O(g(n)) e g(n) ∈ O(h(n)), ent˜ao f (n) ∈ O(h(n))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 20 / 21
81. Propriedades das Classes
Transitividade:
Se f (n) ∈ Θ(g(n)) e g(n) ∈ Θ(h(n)), ent˜ao f (n) ∈ Θ(h(n))
Se f (n) ∈ O(g(n)) e g(n) ∈ O(h(n)), ent˜ao f (n) ∈ O(h(n))
Se f (n) ∈ Ω(g(n)) e g(n) ∈ Ω(h(n)), ent˜ao f (n) ∈ Ω(h(n))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 20 / 21
82. Propriedades das Classes
Transitividade:
Se f (n) ∈ Θ(g(n)) e g(n) ∈ Θ(h(n)), ent˜ao f (n) ∈ Θ(h(n))
Se f (n) ∈ O(g(n)) e g(n) ∈ O(h(n)), ent˜ao f (n) ∈ O(h(n))
Se f (n) ∈ Ω(g(n)) e g(n) ∈ Ω(h(n)), ent˜ao f (n) ∈ Ω(h(n))
Se f (n) ∈ o(g(n)) e g(n) ∈ o(h(n)), ent˜ao f (n) ∈ o(h(n))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 20 / 21
83. Propriedades das Classes
Transitividade:
Se f (n) ∈ Θ(g(n)) e g(n) ∈ Θ(h(n)), ent˜ao f (n) ∈ Θ(h(n))
Se f (n) ∈ O(g(n)) e g(n) ∈ O(h(n)), ent˜ao f (n) ∈ O(h(n))
Se f (n) ∈ Ω(g(n)) e g(n) ∈ Ω(h(n)), ent˜ao f (n) ∈ Ω(h(n))
Se f (n) ∈ o(g(n)) e g(n) ∈ o(h(n)), ent˜ao f (n) ∈ o(h(n))
Se f (n) ∈ ω(g(n)) e g(n) ∈ ω(h(n)), ent˜ao f (n) ∈ ω(h(n))
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 20 / 21
84. Referˆencias
Ziviani, Nivio. Projeto de Algoritmos: com implementa¸c˜oes
em Java e C++. Cengage. 2007.
Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L.,
Stein, Clifford. Introduction to Algorithms. 2a ed. MIT Press,
2001.
Norton Trevisan Romannorton@usp.br Aula 08 – An´alise Assint´otica de Algoritmos: Nota¸c˜ao Ω, ω e Θ18 de setembro de 2018 21 / 21