Você está na página 1de 1

Universidade Federal do Rio Grande

Centro de Ciências Computacionais


Algoritmos e Estrutura de Dados II
Prof. Rodrigo de Bem
Resolução de recorrências

EXERCÍCIOS:

1. Considere o seguinte algoritmo:

procedure DC(n)
1. if n  1 then
2. return;
3. for i  1 to 8 do
4. DC(n/2);
5. for i  1 to n3 do
6. dummy  0;

a) Defina a função T(n) do tempo de execução do algoritmo.


b) Defina a ordem de crescimento assintótico da função T(n) usando a notação .

2. Considere o seguinte algoritmo:

procedure waste(n)
1. for i  1 to n do
2. for j  1 to i do
3. write i,j,n;
4. if n > 0 then
5. for i  1 to 4 do
6. waste(n/2);

a) Defina a função T(n) do tempo de execução do algoritmo.


b) Defina a ordem de crescimento assintótico da função T(n) usando a notação .

3. T(n) = 2T(n/2)+n é O(n lg n). Mostre que a solução desta recorrência também é (n lg n).

4. Utilize uma árvore de recursão para encontrar limites, superior e inferior, de crescimento para
T(n)=T(n/3)+T(2n/3)+(n). Use o método de substituição para provar que sua resposta está correta.

5. Use o método mestre para encontrar os limites assintóticos justos das seguintes recorrências:
a. T(n)=4T(n/2) + n.
b. T(n)=4T(n/2) + n2.
c. T(n)=4T(n/2) + n3.

6. Use uma árvore de recursão para estimar os limites assintóticos, superior e inferior, da recorrência
T(n)=T(n-1) + n. Use o método de substituição para provar que os limites encontrados são corretos.

7. A recorrência T(n)=4T(n/2) + n2√𝑛 pode ser resolvida com o método mestre? Por quê? Caso seja possível,
determine os limites de crescimento superior e inferior usando o método mestre.

8. Use uma árvore de recursão para estimar os limites assintóticos, superior e inferior, da recorrência
T(n)=T(n/2)+T(n/4)+T(n/8)+n. Use o método de substituição para provar que os limites encontrados são
corretos. Defina também a recorrência usando a notação .

Você também pode gostar