INSTITUTO DE INFORMTICA
Estrutura de Dados 2
Exerccios Lista 1
sum := n^2
sum := 0;
para i de 1 a n faa
para j de 1 a n faa
sum := sum + 1;
1
1
2
2
2
1
3
5
3
1
4
10
4
1
5
17
5
1
6
26
6
1
7
37
7
1
8
59
8
1
9
65
9
1
10
82
10
1
11
101
Suponha que todos os trs fragmentos faam a mesma coisa varivel sum. Se
tivssemos que escolher um fragmento com base apenas na velocidade,
2n+1 = O(2n)
22n = O(2n)
f(n) = O(u(n)) e g(n) = O(v(n)) => f(n) + g(n) = O(u(n) + v(n))
f(n) = O(u(n)) e g(n) = O(v(n)) => f(n) - g(n) = O(u(n) - v(n))
a) Verdadeira. Existem constante positivas c e m tais que 2(n+1) <= c.2n, para todo
n >= m. Por exemplo, c = 3 e m = 0;
b) Falsa. No existem constantes positivas c e m, tais que 22n <= c.2n, para todo
n >= m. Pois, 22n = 4n;
c) Verdadeira. Existem constantes positivas c1, m1, c2, m2 tais que f(n) <= c1.u(n)
qq n >=m1 e g(n) <= c2.v(n) qq n >= m2. Logo, f(n) + g(n) <= c1.u(n) + c2.v(n) para
o maior de c1 e c2 e para o maior de m1 e m2, ou seja, f(n) + g(n) = O(u(n)) +
O(v(n)) = O(Max(u(n), v(n)) = O(u(n) + v(n)). A adio equivale a considerar o
mximo das duas funes.
d) Falsa. Pois, f(n) g(n) = O(u(n)) O(v(n)) = O(u(n) + (-1).O(v(n)), como -1
uma constante, ela pode ser desprezada. Logo, f(n) - g(n) = O(u(n)) + O(v(n)) =
O(Max(u(n), v(n))). A notao O corresponde relao <=, o que no permite
realizar subtrao nem diviso.