Você está na página 1de 4

LISTA DE ATIVIDADES

CLEYTON CAETANO DE SOUZA – EDA


– ESTRUTURA DE DADOS E
ALGORITMOS
ATIVIDADE COMPLEMENTAR - LISTA 2

1) Resolva utilizando o método da substituição


a. T ( n )=T ( n−2 ) +1
b. T ( n )=2 T ( n−1 )+ 1
c. T ( n )=T ( n−2 ) +2 n
2) Resolva as seguintes relações de recorrência utilizando o método iterativo.

a. T ( n )=3 T
n
3()
+2 n

T ( n )=3 T ( )+n
n
b.
2

T ( n )=4 T ( )+n
n
c.
2

T ( n )=4 T ( )+n
n 2
d.
2

T ( n )=4 T ( )+n
n 3
e.
2
3) Resolva as seguintes recorrências utilizando o teorema mestre.

a. T ( n )=2∗T
n
2 ()
+ 2n

T ( n )=3 T ( )+2 n
n
b.
2

T ( n )=7 T ( )+2 n
n 3
c.
2

T ( n )=4 T ( )+2 n log n


n
d.
2

T ( n )=8 T ( )+2 n
5
n 2
e.
2

T ( n )=15 T ( )+ 2n
n 2
f.
4

T ( n )=15 T ( )+ 2n + log n
n 2
g.
4
h. T ( n )=4 T ( n2 )+n ∗log n
2

4) Use o método mestre para mostrar que a solução da recorrência


T ( n )=T ()
n
2
+Θ ( 1 ) é Θ ( log n )

5) (i) Escreva um algoritmo recursivo para os problemas abaixo. (ii) Bole a relação
de recorrência que representa o custo desse seu algoritmo recursivo e (iii)
resolva essa recorrência utilizando qualquer um dos três métodos estudados
em sala de aula.
a. Descobrir se uma entrada é um palíndromo (um palíndromo é uma
palavra que tem a mesma grafia, tanto do começo ao fim, quanto do
fim ao começo ex. arara).
b. Calcular o logaritmo de um número qualquer na base 2 (nesse caso,
considere que o menor logaritmo é log 2 1, se a entrada for menor que
um lance uma exceção).
c. Encontrar um elemento qualquer em um vetor.
d. Encontrar um elemento qualquer em um vetor ordenado.

6) Resolva a seguinte recorrência T ( n )= {


1 , para n≤ 2
2T ( √ n ) +log n , caso contrário

7) Resolva a seguinte recorrência T ( n )= {


1 , para n≤ 2
3T ( √ n ) + log n , caso contrário
8) O tempo de execução de um algoritmo A é descrito pela recorrência

T ( n )=8 T
n
2()
+n2. Um algoritmo concorrente A ’ tem um tempo de execução

T ( n ) =a T ( )+n . Qual o maior valor inteiro para a tal que A ' seja assintoticamente
' 'n 2
4
mais rápido de A ?
9) Identifique quais dessas recorrências não podem ser resolvidas utilizando o método
mestre e explique o porquê.

a. T ( n )=3
log 3 n
∗T ( n4 )+ log n
3

b. T ( n )=2 T ( n ) +O ( n2 )

c. T ( n )=n∗T ( 3n )+n
d. T ( n )=4 T ( √ n ) + log 2 n

e. T ( n )=log 2 3∗T ( logn 6 )+n 4

f. T ( n )=3 T ( 2 n ) +n
g. T ( n )=T ( n−1 ) +n2

h. T ( n )=2 T
n
3 ()+Θ ( n )∗n
i. ( n2 )−log n
T ( n )=T

j. T ( n )=10 T (
log n )
n
+Θ ( n )

10) Resolva a recorrência T ( n )=T ( )+T ( )+n? Utilizando o método interativo.


n 2n
3 3
11) Dado os algoritmos recursivos abaixo, apresente suas relações de recorrência e
tente resolvê-las usando algum dos métodos estudados em sala de aula.
a.

b.

c.

d.

e.
12) Considere a função abaixo?

a. O que essa função faz?


b. Qual a relação de recorrência dessa função?
c. Resolva a relação de recorrência utilizando algum dos métodos
estudados.
d. Escreva uma função não recursiva que resolva o mesmo problema.
Calcule a complexidade da sua função, compare com a função recursiva
e decida qual é mais eficiente.
13) Escreva um algoritmo recursivo que transforme um número inteiro em binário.
Calcule a relação de recorrência desse algoritmo e resolva-a usando algum dos
métodos estudados em sala de aula (dica: o retorno do método pode ser uma
String, não precisa necessariamente ser um número).
14) Escreva uma função recursiva para calcular o produto de dois números inteiros.
Calcule a relação de recorrência desse algoritmo e resolva-a usando algum dos
métodos estudados em sala de aula (dica: transforme o produto em outra
operação matemática).
15) Escreva uma função recursiva que receba uma String de dígitos no inteiro que
ela representa. Por exemplo: “1234” em 1234. Calcule a relação de recorrência
desse algoritmo e resolva-a usando algum dos métodos estudados em sala de
aula (dica: o caso mais simples é uma String de tamanho 1).

Você também pode gostar