Você está na página 1de 4

Universidade Federal do Espírito Santo

Departamento de Informáti a
Ciên ia da Computação/Engenharia da Computação/Engenharia Elétri a
Estrutura de Dados/Estruturas de Informação
Segundo Semestre de 2009
Profa. Claudine Badue

Lista de Exer í ios 1


20 de Agosto de 2009

Exer í io 1 [Ziviani, 2004; Exer í io 1.1℄

Dê o on eito de
(a) algoritmo
(b) tipo de dados
( ) tipo abstrato de dados

Exer í io 2 [Ziviani, 2004; Exer í io 1.2℄

O que signi a dizer que uma função g(n) é O(f (n))?

Exer í io 3 [Ziviani, 2004; Exer í io 1.4℄

Explique a diferença entre O(1) e O(2)?

Exer í io 4 [Ziviani, 2004; Exer í io 1.5℄

Qual algoritmo vo ê prefere: um algoritmo que requer n5 passos ou um que requer 2n


passos?

Exer í io 5 [Ziviani, 2004; Exer í io 1.7℄

Indique se as armativas a seguir são verdadeiras ou falsas e justique a sua resposta.


(a) 2n+1 = O(2n) (Resposta: Verdadeira)
(b) 22n = O(2n) (Resposta: Falsa)

1
Exer í io 6 [Ziviani, 2004; Exer í io 1.9℄

Suponha um algoritmo A e um algoritmo B, om funções de omplexidade de tempo


a(n) = n2 − n + 549 e b(n) = 49n + 49, respe tivamente. Determine quais valores de n
perten entes ao onjunto dos números naturais para os quais A leva menos tempo para
exe utar do que B.

Exer í io 7 [Ziviani, 2004; Exer í io 1.13℄

Apresente um algoritmo para obter o maior e o segundo maior elemento de um onjunto.


Apresente também uma análise do algoritmo. Vo ê a ha o seu algoritmo e iente? Por
quê? Pro ure omprovar suas respostas.

Exer í io 8 [Ziviani, 2004; Exer í io 1.16℄

Avaliar as somas:
Pn
(a) i=1 i (Resposta: Sn = (1+n)n
2
)
Pn
(b) (Resposta: Sn = a aa−1 para a 6= 1; Sn = n, para a = 1.)
n
i
i=1 a
−1

Pn
( ) i=1 ia
i
(Resposta: Sn = nan+2 −an+1 (n+1)+a
(1−a)2
, para a 6= 1; Sn = (1+n)n
2
, para a = 1.)
Pn
(d) i=1 log i (Resposta: Sn = log n!)
Pn
(e) i=1 i2
−i
(Resposta: Sn = 4(n( 12 )n+2 − ( 12 )n+1 (n + 1) + 12 )
(f) 1 + 1/7 + 1/49 + · · · + (1/7)n (Resposta: Sn = 16 (1 − ( 17 )n ))
Pn−1
(g) 1
k=1 k(k+1) (Resposta: Sn = 1 − n1 )

Exer í io 9 [Ziviani, 2004; Exer í io 1.17℄

Resolva as seguintes equações de re orrên ia:


(a) T (n) = T (n − 1) + c, c onstante, n > 1
T (1) = 0
(Resposta: T (n) = 1 + cn)
(b) T (n) = T (n − 1) + 2n , n ≥ 1
T (0) = 1
(Resposta: T (n) = 2n+1 − 1)

2
( ) T (n) = cT (n − 1), c e k onstantes, n > 0
T (0) = k
(Resposta: T (n) = kcn )
(d) T (n) = 3T (n/2) + n, n > 1
T (1) = 1
(Resposta: T (n) = 3nlog 3 − 2n)

Exer í io 10

Apresente a omplexidade de tempo para o algoritmo abaixo. Suponha que a operação


ru ial é a soma.
p r o e d u r e FazAlgo ( n : i n t e g e r ) ;
var i , j , k , x : i n t e g e r ;
begin
x := 0 ;
for i := 1 to n − 2 do
for j := i + 1 to n − 1 do
for k := 1 to j do x := x + 1 ;
end ;
(Resposta: T (n) = n3
3
− n2 + 2n
3
= O(n3 ))

Exer í io 11 [Ziviani, 2004; Exer í io 1.18℄

Considere o algoritmo a seguir. Suponha que a operação ru ial é o fato de inspe ionar um
elemento. O algoritmo inspe iona os n elementos de um onjunto e, de alguma forma, isso
permite des artar 2/5 dos elementos e então fazer uma hamada re ursiva sobre os 3n/5
elementos restantes.
pro edure Pesquisa (n : i n t e g e r ) ;
i f n <= 1
then ' i n s p e i o n e elemento ' e t e r m i n e
else begin
para ada um dos n e l e m e n t o s ' i n s p e i o n e elemento ' ;
P e s q u i s a (3 n / 5 ) ;
end ;
end ;
(a) Es reva uma equação de re orrên ia que des reva este omportamento.
(b) Converta esta equação para um somatório.
( ) Dê a fórmula fe hada para este somatório. (Resposta: T (n) = 5n
2
− 23 )

3
Exer í io 12 [Ziviani, 2004; Exer í io 1.19℄

Considere o algoritmo abaixo.


p r o e d u r e S o r t 2 ( var A: a r r a y [ 1 . . n ℄ o f i n t e g e r ; i . j : i n t e g e r ) ;
{−− n uma p o t e n i a de 3−−}
begin
if i < j
then b e g i n
k := ( ( j − i ) + 1 ) / 3 ;
S o r t 2 (A, i , i + k − 1 ) ;
S o r t 2 (A, i + k , i + 2k − 1 ) ;
S o r t 2 (A, i + 2k , j ) ;
Merge (A, i , i + k , i + 2k , j ) ;
{ Merge i n t e r a l a
A[ i . . ( i + k − 1 ) ℄ , A[ ( i + k ) . . ( i + 2k − 1 ) ℄ e
A[ i + 2k . . j ℄ em A[ i . . j ℄
a um u s t o 5n/3 − 2 }
end ;
end ;

(a) Es reva uma equação de re orrên ia que des reva este omportamento.
(b) Converta esta equação para um somatório.
( ) Dê a fórmula fe hada para este somatório. (Resposta: T (n) = ( 5n
3
(log3 n) − n + 1) =
O(n log n))

Referên ia

Nivio Ziviani. Projeto de Algoritmos om Implementações em Pas al e C. Pioneira Thom-


son Learning, Segunda Edição Revista e Ampliada, 2004.

Você também pode gostar