Вы находитесь на странице: 1из 3

lise de Algoritmos I MC-448 Projeto e Ana Segundo semestre de 2006 Primeira Lista Complementar de Exerc cios Prof.

Zanoni Dias 1. Dados os algoritmos 1 e 2 para o c alculo do produto de dois n umeros naturais m e n, calcule a complexidade do pior caso. Use para o c alculo da complexidade o n umero de repeti co es do loop.

Algoritmo 1. begin Z:= 0; u:= n; v:= m; while u <> 0 do z:= z + v; u:= u - 1; end; write(z); end;

Algoritmo 2. begin z:= 0; u:= n; while u <> 0 begin if odd(u) u:= u div v:= 2*v; end; write(z); end;

v:= m; do then z:= z + v; 2;

2. Calcule o n umero de somas que o algoritmo abaixo efetua: for i:= 1 to n do if odd(n) then begin for j:= i to n do x := x + 1; for j:= 1 to i do y:= y + 1; end;

3. Calcule em fun ca o de n, o n umero de somas e de multiplica co es que o algoritmo abaixo efetua for i:= 1 to n/2 do begin a:= b[i] + c[i]; for j:= 2*i to n do d[j] := a*d[j]; end;

4. Calcule, em fun ca o de n o n umero de multiplica co es que o algoritmo abaixo executa: for i:= 1 to n-1 do for j:= i+1 to n do for k:= 1 to j do a[i,k] := j*b[j,k]

5. Para cada uma das fun co es abaixo f (n) = ( f (n) = f (n) = (n) + )3 ( (n) )3 n+1 3
n 1 k=1 k

indique a ordem de crescimento assint otico conforme as seguintes op co es. (a) (n3 ) (b) (1) (c) (2n ) (d) (n) (e) (n log(n)) (f) (n2 ) (g) (log(n)) (h) (log(log(n)) (i) (n 2 ) 6. Rotule as fun co es f (n) das op co es (a) at e (i) do exerc cio anterior, com os n umeros de 1 a 9 de forma que a numera ca o reita a ordem de crescimento assint otico das fun co es. 7. Seja p(n) = i=0 ai ni , onde ad > 0, um polin omio de grau d em n, e seja k uma constante. Use as deni co es de nota ca o assint otica para provar as seguintes propriedades. Se k d, ent ao p(n) = O(nk ). Se k d, ent ao p(n) = (nk ). Se k = d, ent ao p(n) = (nk ). 8. Verique se as arma co es abaixo s ao falsas ou verdadeiras. Justique a sua resposta. 2n+1 = O(2n ). 22n = O(2n ). Se f (n) e O(g (n)), ent ao g (n) e O(f (n)). f (n) e O(f (n))2 . 9. Mostre que log(n!) = (n log(n)). 10. Um algoritmo age sobre dados que dependem de um par ametro n. Explique o signicado das seguintes express oes: O consumo de tempo do algoritmo e O(n2 log n). O consumo de tempo do algoritmo e (n2 ). 11. S ao dadas as fun co es f (n) = n, g (n) = nlog (n) e h(n) = n2 . Considere, agora, a fun ca o abaixo: p(n) = n n2 se n e par se n e mpar
d
1

Relacione cada uma das fun co `es f , g , h ` a fun ca o p usando O, ou , ou indique que tal rela ca o n ao e poss vel.

12. Dado um vetor de n elementos, qual e o n umero m edio (n umero esperado) de elementos que devem ser movidos para que se fa ca uma inser ca o, considerando igualmente prov aveis as n + 1 poss veis posi co es de inser ca o. Justique. 13. Considere o seguinte algoritmo para resolver o problema da Torre de Hanoi. Procedure Hanoi(n, ori, des, aux) inicio se n = 1 entao move pino de ori para des senao inicio Hanoi(n-1, ori, aux, des) move pino de ori para des Hanoi(n-1, aux, des, ori) fim fim

A opera ca o b asica e mover pinos. a. Determine a rela ca o de recorr encia para T(n), inclusive T(1). b. Calcule T(n).

Вам также может понравиться