Você está na página 1de 4

Pós-Graduação em Ciência da Computação Universidade Federal de São Paulo - São José dos Campos

Exercı́cios sobre Notação Assintótica


AAED — Análise de Algoritmos e Estruturas de Dados
Prof. Jurandy G. Almeida Jr.
2 o Semestre de 2021

Exercı́cios
1. Prove que n2 + 10n + 20 ∈ O(n2 ).

2. Prove que 300 ∈ O(1).

3. Prove que dn/3e ∈ O(n). É verdade que n ∈ O(bn/3c)?

4. Prove que lg n ∈ O(log10 n).

5. Prove que n ∈ O(2n ).

6. Prove que lg n ∈ O(n).

7. Prove que n/1000 não é O(1).

8. Prove que 21 n2 não é O(n).

9. Suponha T definida para n = 0, 1, . . .

(a) Se T (n) ∈ O(1), mostre que existe c0 tal que T (n) ≤ c0 para todo n ≥ 0.
(b) Se T (n) ∈ O(n), mostre que existe c0 tal que T (n) ≤ c0 n para todo n ≥ 1.

10. Prove que n2 + 999n + 9999 ∈ O(n2 ).

11. Prove que 21 n(n + 1) ∈ O(n2 ).


1 2
12. É verdade que 100 n − 999n − 9999 ∈ O(n)? Justifique.

13. Suponha que f (n) = n2 quando n é par e f (n) = n3 quando n é ı́mpar.

(a) É verdade que f (n) = O(n2 )?


(b) É verdade que f (n) = O(n3 )?
(c) É verdade que n2 = O(f (n))?
(d) É verdade que n3 = O(f (n))?

14. É verdade que n2 = O(2n )?



15. É verdade que lg n = O( n)?
16. Suponha f (n) = 64n lg n e g(n) = 8n2 , com n inteiro positivo. Para que valores de n temos
f (n) ≤ g(n)?

17. Suponha T e f definidas para n = 1, 2, . . . Mostre que se T (n) = O(f (n)) e f (n) > 0 para
n ≥ 1 então existe c0 tal que T (n) ≤ c0 f (n) para todo n ≥ 1.

18. Faz sentido dizer “T (n) = O(n2 ) para n ≥ 3”?

19. É verdade que 2n = O(n)?


É verdade que n = O(lg n)?
Justifique.

20. É verdade que n + n é O(n)?

É verdade que n é O( n)?

É verdade que n2/3 é O( n)?

É verdade que n + 1000 é O(n)?

21. É verdade que lg n = O(n1/2 )?



É verdade que n = O(lg n)?
É verdade que lg n = O(n1/3 )?
Justifique. (Sugestão: prove, por indução, que lg x ≤ x para todo número real x ≥ 1.)

22. É verdade que dlg ne = O(lg n)?

23. Interprete e prove a afirmação O(n2 ) + O(n2 ) + O(n2 ) = O(3n2 ).

24. Interprete e prove a afirmação nO(n) = O(n2 ).

25. Interprete e prove a afirmação O(3n2 + 4n) = O(n2 ).

26. (Propriedade Transitiva)


Suponha T (n) = O(f (n)) e f (n) = O(g(n)).
Mostre que T (n) = O(g(n)).
Dê um exemplo interessante.

27. (Regra da Soma, Caso Especial)


Suponha que T (n) = O(f (n)) e mostre que T (n) + f (n) = O(f (n)).
Dê um exemplo interessante.

28. (Regra da Soma, Caso Geral)


Suponha que T1 (n) = O(f1 (n)) e T2 = O(f2 (n)).
Se f1 (n) = O(f2 (n)), mostre que T1 (n) + T2 (n) = O(f2 (n)).

29. O que significa “T (n) = n2 + O(n)”?


Mostre que se T (n) = n2 + O(n) então T (n) = O(n2 ).

30. O que significa “T (n) = nO(lg n)”?


Mostre que T (n) = nO(lg n) se, e somente se, T (n) = O(n lg n).

31. Interprete e prove a afirmação 7 · O(n) = O(n).


32. Interprete e prove a afirmação O(n) + O(n) = O(n).

33. Prove que O(n) = O(n2 ). É verdade que O(n2 ) = O(n)?

34. Interprete e prove a afirmação (n + 2) · O(1) = O(n).

35. Interprete e prove a afirmação O(1) + · · · + O(1) = O(n).


| {z }
n+2

36. Prove que O(1) + O(1) + O(1) = O(1).


É verdade que O(1) = O(1) + O(1) + O(1)?

37. Interprete e prove a afirmação O(f ) + O(g) = O(f + g).

38. Prove que n2 + 10n + 20 = Ω(n2 ).


Prove que n2 − 10n − 20 = Θ(n2 ).

39. Prove que n = Ω(lg n).

40. Prove que lg n = Θ(log10 n).

41. Prove que 0.0001n3 − 100n2 − 100n + 3 = Θ(n3 ).

42. Prove que 3n log10 n + log10 n10 = Θ(n log10 n).

43. É verdade que 2n = Ω(3n )?



44. É verdade que 2n3 + 5 n = Θ(n3 )?

45. Prove que f (n) = 12 + 22 + · · · + n2 é igual n3 /3 + O(n2 ).

46. Prove que ni=1 dlg ie = Θ(n lg n).


P

47. Mostre que as seguintes relações são válidas usando a definição de constantes:

(a) 103 n2 + 106 n ∈ Θ(n2 );


(b) 11n2 − 106 n ∈ Ω(n2 );
(c) n ∈ o(n3/2 );
(d) n ∈ ω(n9/10 ).

48. Mostre que as seguintes relações são válidas:

(a) n log n ∈ ω(n);


(b) log2 n ∈ o(n);
(c) log5 n ∈ o(n1/2 );
(d) logd n ∈ o(n ), onde d ∈ N∗ e 0 <  < 1;
(e) ad nd + ad−1 nd−1 + . . . + a1 n + a0 ∈ Θ(nd ), onde d ∈ N∗ e ai é constante para todo
0 ≤ i ≤ d;
(f) nd ∈ o(2n ), onde d ∈ N∗ ;
49. Dadas duas funções positivas f (n) e g(n). Diz-se que f (n) = Θ(g(n)) se f (n) = O(g(n)) e
g(n) = O(f (n)). Mostre que max(f (n), g(n)) = Θ(f (n) + g(n)).

50. Indique para cada par de expressões (A, B) na tabela abaixo, se A é O, o, Ω, ω, ou Θ de B.


Assuma que k ≥ 1,  > 0 e c > 1 são constantes. Sua resposta deve ser na forma sim ou não
acompanhada da justificativa.

A B O o Ω ω Θ
(a) lgk n n
(b) nk cn

(c) n nsin n
(d) 2 n 2n/2
(e) nlg m mlg n
(f) lg (n!) lg (nn )

51. Suponha que os algoritmos A e B só dependem de um parâmetro n. Suponha ainda que A
consome S(n) unidades de tempo enquanto B consome T (n) unidades de tempo. Quero provar
que o algoritmo A é pelo menos tão eficiente quanto o algoritmo B (no sentido assintótico).
Devo mostrar que existe f (n) tal que
S(n) = O(f (n)) e T (n) = O(f (n))?
S(n) = O(f (n)) e T (n) = Ω(f (n))?
S(n) = Ω(f (n)) e T (n) = O(f (n))?
S(n) = Ω(f (n)) e T (n) = Ω(f (n))?
Que devo fazer para mostrar que A é mais eficiente que B?

52. Demonstre as seguintes propriedades:

(a) Se f (n) ∈ Ω(g(n)) e g(n) ∈ Ω(h(n)), então f (n) ∈ Ω(h(n)).


(b) Se f (n) ∈ O(g(n)) e g(n) ∈ O(h(n)), então f (n) ∈ O(h(n)).
(c) Se f (n) ∈ ω(g(n)) e g(n) ∈ ω(h(n)), então f (n) ∈ ω(h(n)).
(d) Se f (n) ∈ o(g(n)) e g(n) ∈ o(h(n)), então f (n) ∈ o(h(n)).
(e) f (n) ∈ Θ(g(n)) se, e somente se, g(n) ∈ Θ(f (n)).
(f) f (n) ∈ O(g(n)) se, e somente se, g(n) ∈ Ω(f (n)).
(g) Se f (n) ∈ Θ(g(n)) e g(n) ∈ O(h(n)), então h(n) ∈ Ω(f (n)).
(h) Se f (n) ∈ Θ(g(n)) e g(n) ∈ Ω(h(n)), então h(n) ∈ O(f (n)).

Você também pode gostar