Lista de exercícios - 1
Gabriel Ken Kazama Geronazzo (10418247)
Simule a execução do mergesort para o vetor abaixo. Lembre-se de chamar a primeira linha recursiva de m1, a segunda de m2 e a intercalação de m (ou seja, simule conforme visto em aula).
v : 2 8 1 9 7 5 3 0
m 1 : 2 8 1 9
m 1 : 2 8
m 1 : 2 m 2 : 8
m : 2 8
m 2 : 1 9
m 1 : 1 m 2 : 9
m : 1 9
m : 1 2 8 9
m 2 : 7 5 3 0
m 1 : 7 5
m 1 : 7 m 2 : 5
m : 5 7
m 2 : 3 0
m 1 : 3 m 2 : 0
m : 0 3
m : 0 3 5 7
m : 0 1 2 3 5 7 8 9
Resolva sem usar o Teorema Mestre as recorrências abaixo.
1. T ( n ) = 3 T ( n − 1 ) + n
T ( n ) = 3 T ( n − 1 ) + n
Sabendo que T ( n − 1 ) = 3 T ( n − 2 ) + n − 1 , temos:
T ( n ) = 3 ( 3 T ( n − 2 ) + n − 1 ) + n
T ( n ) = 3 2 T ( n − 2 ) + 3 ( n − 1 ) + n
Sabendo que T ( n − 2 ) = 3 T ( n − 3 ) + n − 2 , temos:
T ( n ) = 3 2 ( 3 T ( n − 3 ) + n − 2 ) + 3 ( n − 1 ) + n
T ( n ) = 3 3 T ( n − 3 ) + 3 2 ( n − 2 ) + 3 1 ( n − 1 ) + 3 0 ( n − 0 )
Generalizando
T ( n ) = 3 i ⋅ T ( n − i ) + k = 0 ∑ i − 1 3 k ( n − k )
E vai para quando n − i = 1 ⇒ i = n − 1
T ( n ) = 3 n − 1 ⋅ \cancelto 1 T ( 1 ) + k = 0 ∑ n − 2 3 k ( n − k )
T ( n ) = 3 0 ( n − 0 ) + 3 1 ( n − 1 ) + 3 2 ( n − 2 ) + ⋯ + 3 n − 2 ( 2 ) + 3 n − 1 ( 1 )
T ( n ) = 2 n ( n + 3 n − 1 ) = 2 n ( n + 3 3 n ) = 2 n 2 + 3 3 n n
T ( n ) = 2 n 2 + 6 3 n n = 6 3 n 2 + 3 n n
T ( n ) = θ ( 2 n )
2. T ( n ) = 9 T ( 3 n ) + n
T ( n ) = 9 T ( 3 n ) + n
Sabendo que T ( 3 n ) = 9 T ( 3 2 n ) + 3 n , temos:
T ( n ) = 9 ( 9 T ( 3 2 n ) + 3 n ) + n
T ( n ) = 9 2 T ( 3 2 n ) + 3 n + n
Sabendo que T ( 3 2 n ) = 9 T ( 3 3 n ) + 3 2 n , temos:
T ( n ) = 9 2 ( 9 T ( 3 3 n ) + 3 2 n ) + 3 n + n
T ( n ) = 9 3 T ( 3 3 n ) + 9 n + 3 n + n
Generalizando:
T ( n ) = 9 i T ( 3 i n ) + k = 0 ∑ i − 1 3 k n
E vai parar quando 3 i n = 1 ⇒ n = 3 i ⇒ i = log 3 n .
T ( n ) = 9 l o g 3 n \cancelto 1 T ( 1 ) + k = 0 ∑ l o g 3 n − 1 3 k n
T ( n ) = ( 3 2 ) l o g 3 n + k = 0 ∑ l o g 3 n − 1 3 k n
T ( n ) = 3 2 ⋅ l o g 3 n + k = 0 ∑ l o g 3 n − 1 3 k n
T ( n ) = 3 l o g 3 n 2 + k = 0 ∑ l o g 3 n − 1 3 k n
T ( n ) = n 2 + k = 0 ∑ l o g 3 n − 1 3 k n
T ( n ) = n 2 + k = 0 ∑ l o g 3 l o g n − 1 3 k n
T ( n ) = n 2 + 2 1 ( n − 1 ) n
T ( n ) = n 2 + 2 n 2 − 2 n
T ( n ) = 2 2 n 2 + 2 n 2 − 2 n
T ( n ) = 2 3 n 2 − 1
∴ T ( n ) = θ ( n 2 )
Referências