Buscar

PAA - Unidade 1 (1)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

● RESPOSTAS: 
a) .2 (n) .2 (n), ∀n0 ≤ c1
n ≤ 2n+1 ≤ c2
n ≥ k  
0 .2≤ c1
n ≤ 2n+1  
0 ≤ c1 ≤ 2
n
2n+1
 
0 ≤ c1 ≤ 2
n
2 .2n  
0 ≤ c1 ≤ 2
1  
 
.22n+1 ≤ c2
n  
2n
2n+1 ≤ c2  
2 ≤ c2  
, c 2, 1c1 = 2
1 2 = k =  
 é Θ( ), para 22n 2n , c 2, 1c1 = 2
1 2 = k =   
b) .2 , ∀n0 ≤ 22n ≤ c n ≥ k  
, ∀n0 ≤ 2n
2 .2n n ≤ c ≥ k  
, ∀n0 ≤ 2n ≤ c ≥ k  
não é O( ), já que c é constante e n pode receber números arbitrariamente grande, então22n     2n                            
essa relação não pode ser satisfeita 
 
c) .x , ∀x0 ≤ 7x2 ≤ c 3 ≥ k  
, ∀x0 ≤ x3
7x2 ≤ c ≥ k  
, ∀x0 ≤ 7x ≤ c ≥ k  
k = 1 e c = 7 
 ​é O( ) para k = 1 e c = 77x2 x3  
 
d) ​ .7x , ∀x0 ≤ x3 ≤ c 2 ≥ k  
.7x , ∀x0 ≤ x3 ≤ c 2 ≥ k  
, ∀x0 ≤ x3
7x2
≤ c ≥ k  
, ∀x0 ≤ 7
x ≤ c ≥ k  
​não é O( ), já que c é constante e x pode receber números arbitrariamente grande,x3       7x2                          
então essa relação não pode ser satisfeita 
 
e) ​Para que seja o( ), é necessário que f(x) seja      (x) 0x 10.Log x 5f = 2 3 + +     g(x) x= 3            
insignificante em relação a g(x) quando x está próximo do infinito, logo precisamos que                           
= 0 lim
x→∞ x
3
20x3 + x3
10Log x + 5x3  
Quando x se aproxima do infinito temos que e tendem a zero, mas tende a 20,                x3
10Log x   5x3         x3
20x3      
∴ não é o( ).0x 10.Log x 52 3 + + x3  
 
f) ​ n .5, ∀n0 ≤ 2 ≤ c ≥ k  
2n não é O(5) já que c é constante e n pode receber numros arbitrariamente grande e isso                                   
impossibilita a relação. 
 
g) Seja f(x) = 270 e g(x) = e para que f(x) seja o(g(x)), é necessário que f(x) seja                x3                      
insignificante em relação a g(x) quando x está próximo do infinito, logo precisamos que                           
= ​0.lim
x→∞ x
3
270  
Quando x se aproxima do infinito temos que tende a zero, logo podemos afirmar que                x3
270                
270 é o( ) x3  
 
h) ​ .Log(x) c.x , ∀ x k0 ≤ x ≤ 2 ≥  
 c, ∀ x k0 ≤ .x2
x.Log(x) ≤ ≥  
 c, ∀ x k0 ≤ x 
Log(x) ≤ ≥  
Com isso podemos dizer que é O( ), já que x pode receber números          .Log(x)x     x2              
arbitrariamente grande e isso fará com que tenta a zero, logo a relação pode ser            x 
Log(x)                
satisfeita para c = 1 e k =2 
 
i) Seja f(x) = e g(x) = e para que f(x) seja o(g(x)), é necessário que f(x) seja        0. 1 √2 log(x)
 
      √x                      
insignificante em relação a g(x) quando x está próximo do infinito, logo precisamos que                           
= ​0.lim
x→∞ √x
10. √2 log(x)
 
 
Aplicando a propriedade dos logaritmos em f(x), temos: balog ba = (x) 10.f = √x  
Portanto temos = ​10 e com isto a relação não se satisfaz e não é o(    lim
x→∞ √x
10.√x                       0. 1 √2 log(x)
 
   
). √x  
 
j) ​ .Log(x) c.x , ∀ x k0 ≤ x2 ≤ 2 ≥  
 c, ∀ x k0 ≤ x2
x .Log(x)2 ≤ ≥  
Log(x) c, ∀ x k0 ≤ . ≤ ≥  
Como c é constante e x pode receber números arbitrariamente grande, então essa relação não                             
pode ser satisfeita. Desta forma não é O( ).Log(x)x2 x2  
 
k) 000 2.x , ∀ x k0 ≤ c.x2 ≤ 1 + 2 ≥  
 , ∀ x k0 ≤ c ≤ x2
1000 + x2
2.x2 ≥  
 , ∀ x k0 ≤ c ≤ x2
1000 + 2 ≥  
Para k =1 e c= 1002, a relação se satisfaz e é Ω( )000 2.x1 + 2 x2  
 
 
l) Seja f(x) = e g(x) = e para que f(x) sejaω(g(x)), é necessário que f(x) seja        og(x )l 2       og(x)l                      
arbitrariamente grande em relação a g(x) quando x está próximo do infinito, logo precisamos                           
que = ​∞.lim
x→∞ log(x)
log(x )2
 
lim
x→∞ log(x)
log(x )2
⇒ lim
x→∞ log(x)
2.log(x ) = 2  
Como o limite de é 2, então a relação não se satisfaz e f(x) é não ω(g(x)).f (x)g(x)  
 
m) ​ .4 .n .4 , ∀n0 ≤ c1
log(n) ≤ 2 2 ≤ c2
log(n) ≥ k  
.2 .n .2 , ∀n0 ≤ c1
2log(n) ≤ 2 2 ≤ c2
2log(n) ≥ k  
.(2 ) .n .(2 ) , ∀n0 ≤ c1
log(n) 2 ≤ 2 2 ≤ c2
log(n) 2 ≥ k  
.n .n .n , ∀n0 ≤ c1 2
 ≤ 2 2 ≤ c2 2 ≥ k  
 
Para k =1 e c= 2, a relação se satisfaz e é Θ( ).n2 2 4log(n)  
 
n) ​ .2 , ∀n0 ≤ c n ≤ 22n+1 ≥ k  
, ∀n0 ≤ c ≤ 2n
2 .2 .2n n ≥ k  
, ∀n0 ≤ c ≤ 2n+1 ≥ k  
Para k =1 e c= 1, a relação se satisfaz e​ é Ω( ).22n+! 2n  
 
o) .2 , ∀n0 ≤ 22n+1 ≤ c n ≥ k  
, ∀n0 ≤ 2n
2 .2 .2n n ≤ c ≥ k  
, ∀n0 ≤ 2n+1 ≤ c ≥ k  
​já que c é constante e n pode receber números arbitrariamente grande, não é O(2 )22n+1 n                          
então essa relação não pode ser satisfeita 
p) n .5, ∀n0 ≤ 2 ≤ c ≥ k  
2n não é O(5) já que c é constante e n pode receber números arbitrariamente grande e isso                                   
impossibilita a relação. 
 
q) ​ .n , 2n ∀n0 ≤ c ≤ n
1
log(n) + ≥ k  
, /n ∀n0 ≤ c ≤ n
1
log(n) + n
2n ≥ k  
.n , 2 ∀n0 ≤ c ≤ n
n
1
log(n) + ≥ k  
Como n pode receber números arbitrariamente grande, tenderá a zero, logo temos que              n
n
1
log(n)
             
ter c 2 e k > 1.≥  
Logo é Ω( ) para c =2 e k =22nn
1
log(n) + x  
 
r) ​ = n
1
log(n) 2 2nLog (2)x = Log (x)x =  
.8 .8, ∀n0 ≤ c1 ≤ n
1
log(n) ≤ c2 ≥ k  
.8 .8, ∀n0 ≤ c1 ≤ 2 ≤ c2 ≥ k  
Desta forma temos que ter , e k 1.c1 1/4≤ 1/4c2 ≥ ≥  
Logo é Θ( ) para , e k = 1n
1
log(n) 8 c1 1/4= 1/4c2 =  
 
Questão 2: Determine a complexidade no tempo do algoritmo abaixo que promete encontrar                         
os elementos mínimo e máximo do vetor de entrada V de tamanho n e responda os itens a                                   
seguir. Todas as respostas devem ser devidamente justificadas. 
a) Podemos dizer que o algoritmo MaxMin para e é correto? 
● RESPOSTA: 
Sim, o algoritmos percorre todo o vetor para verificar se há um elemento menor que min ou                                 
maior que max. 
b)Existe melhor e pior caso? 
● RESPOSTA: 
Não, o algoritmo percorre o todo vetor independente a dos parâmetros recebidos. 
c) O algoritmo MaxMin é eficiente? 
● RESPOSTA: 
Sim, já que o algoritmos executa a sua tarefa corretamente e possui complexidade Θ(n). 
Questão 3: Usando notação assintótica, descreva a complexidade no tempo do algoritmo                       
abaixo. Ele recebe dois vetores A e V de tamanhos n e w, respectivamente. 
● RESPOSTA: 
TESTE(A, V, n, w) 
1. para i = 1 até n faça n+1 
2. para j = 1 até w faça n(w+1) 
3. V[j] = A[i] + 2 n.w 
4. max = V[1] 1 
5. para j = 2 até w faça w+1 
6. se max < V[j] então max = V[j] 1 
T(n,w) = n+1 + n.w + n + n.w +1 + w+1 +1 
T(n,w) = 2.n.w + 2.n + w + 4 
2.n.w + 2.n + w + 4 é Θ(n.w) 
 
 
Questão 4: Considerando f ≡ f(n), g ≡ g(n) e k uma constante, determine se as sentenças                                 
abaixo são verdadeiras ou falsas. Caso sejam falsas reescreva corretamente.  
a) Falsa. max(f(n); g(n)) = O(g(n) + f(n)) 
b) Verdadeira 
c) Verdadeira 
d) Falsa. n 8n 100.n O(n )5 + 2 + 3 = 3  
 
Questão 5: ​Assumindo que cada expressão representa o tempo de processamento de um                         
algoritmo para resolver um problema de tamanho n. Selecione o termo dominante e                         
especifique a complexidade no pior caso. 
Expressão  Termo Dominante  O(. . .) 
 0.001n 0.025n5 + 3 +   n3   O( )n3  
 50n(log (n))500n 100n+ 1.5 + 10
3   n1.5   O( )n1.5  
 
Questão 6: 
Como f( n ) ≤ f( n ) + g( n ) e ​g( n ) ≤ f( n ) + g( n ), então max ( f( n ) , g( n ) )∈ O ( f( n                                                                               
) + g( n ​) ) 
Também temos que f(n)+g(n) ≤ 2max(f(n), g(n)) max(f(n),g(n)) ∈ Ω(f(n)+g(n)) 
Portanto, temos que max ( f( n ) , g( n ) ) ∈ ​Θ​ ( f( n ) + g( n ) ) 
 
 
Questão 7: ​Um algoritmo quadrático com tempo de processamento T(n) = consome                      cn2    
T(n) segundos para processar N itens. Assumindo N = 100 e T(N) = 1ms, quanto tempo este                                 
algoritmo consome para processar uma entrada de cinco mil itens? 
RESPOSTA: 
1ms = c.100²c = 1/10000 
T(n) = n
2
10000  
T(n) = 5000
2
10000  
T(n) = = 2500ms
104
25.106  
Questão 8: Os algoritmos A e B, para uma entrada de tamanho n, consomem exatamente                             
microssegundos. Informe qual algoritmo apresenta a melhor 0.1n .log(n) e T .5nT a = 2 b = 2 2                
complexidade no pior caso e encontre o valor k tal que para qualquer n > k o algoritmo                                   
5n 2.5n0.3n + 1.5 + 1.75   n1.75   O( )n1.75  
log(n) + n2 n(log(n))2   log(n)n2   O( )log(n)n2  
 + log (n)n 3 log (n)n 2   log (n)n 2   O( )log (n)n 2  
 + .log (n)3 8 og (log (log (n)))l 2 2 2   og (n)l 8   O( )og (n)l 8  
100n 0.01n+ 2   n2   O( )n2  
0.01n 100n+ 2   n2   O( )n2  
 0.5n2n n+ 0.5 + 1.25   n1.25   O( )n1.25  
.01n.log (n) n.(log (n))0 2 + 2
2   .(log (n))n 2
2   O( ).(log (n))n 2
2  
100 .(log (n)) n 100nn 3
 + 3 +   n3   O( )n3  
 + .003.log (n)0 4 og (log (n))l 2 2   )og (nl 4   O( )og (nl 4  
informado apresente melhor desempenho. Se o problema apresenta entradas n ≤ , qual                      109    
algoritmo você recomendaria para resolver o problema? 
RESPOSTA: 
 apresenta a melhor complexidade no pior caso.5nT b = 2 2  
.1k .log(k) .5k0 2 = 2 2  
0.1k .log(k) .5k ).( 2 = 2 2 1
k2
 
.1.log(k) .50 = 2  
0.1.log(k) .5).10( = 2  
og(k) 5l = 2  
33554432k = 225 =  
Como é maior que 2 , então eu escolheria T109 25 b  
 
Questão 9: Os algoritmos A e B, para uma entrada de tamanho n, consomem exatamente                             
microssegundos. Qual algoritmo apresenta a melhor 5.n .log(n) e T 5nT a = b = 2              
complexidade no pior caso? Para quais tamanhos de entrada um é melhor que o outro? 
RESPOSTA: 
 apresenta a melhor complexidade no pior caso.5nT b = 2  
.k .log(k) 5k5 = 2  
.log(k) 55 = 2  
og(k)l = 5  
 k = 3225 =  
é melhor que quando n > 32.T b T a  
 
Questão 10: Os algoritmos A e B, para uma entrada de tamanho n, consomem exatamente                             
microssegundos. Diga qual o melhor algoritmo para processar c .n .log(n) e TT a = a b = c nb 2                  
uma entrada de tamanho n = se o algoritmo A consome 10 microssegundos para            220                  
processar 1024 itens e o algoritmo B consome 1 microssegundo para processar a mesma                           
quantidade. 
RESPOSTA: 
0 c .1024 .log(2 )1 = a 10  
ca = 101024.10  
ca = 11024  
 .n .log(n) T a = 11024
  
----------------------------------------------------------------------------- 
1 = c 1024b
2  
 cb = 1220  
T b = n1220
2
 
----------------------------------------------------------------------------- 
 .2 .log(2 ) T a = 12 10
20 20 T b = . (2 )1220
20 2  
 .2 .20log(2 ) T a = 10
 T b = 2
20  
 .2 . 2 . 5 T a = 10
 2 T b = 2
20  
 .2 . 5 T a = 12
 
 T b = 2
20  
< T a T b  
 é o melhor algoritmo para processar uma entrada de tamanho n = T a 220

Continue navegando