Análise de Algoritmos
• Uma equação que descreve uma função em termos de seu valor em entradas menores
▫ Exemplo
▫ cuja solução é
www.nakamura.eti.br/eduardo Análise de Algoritmos 2
1 se
, 2
2
1 se
, ) 1
( T n n n
n n T
n n
n n n
n
T ( ) log lg
• A troca de variáveis pode facilitar a avaliação da recorrência
▫ Exemplo
▫ Fazendo temos , obtendo
www.nakamura.eti.br/eduardo Análise de Algoritmos 3
1 se
, log
2
1 se
, ) 1
( T n n n
n n T
n
m log n 2 m
1 se
, 2
2
1 se
, ) 1
( 2
n m
T n n
T m
▫ Ainda é difícil, se fizermos , obtemos
▫ Cuja solução sabemos que é
www.nakamura.eti.br/eduardo Análise de Algoritmos 4
1 se
, 2
2
1 se
, ) 1
( 2
n m
T n n
T m
m
T m
S ( ) 2
0 se
, 2
2
0 se
, ) 1
( S m m m
m m S
m m
m m
S ( ) log
▫ Como e , temos
▫ Ou seja,
www.nakamura.eti.br/eduardo Análise de Algoritmos 5
m
T m
S ( ) 2
m m
m m
S ( ) log n
m log
n n n
T 2 log n log log log log
n n n n
T log log log log
n O n n
T log log log
• Aplica-se a recursão até chegar ao caso base
• Exemplo #01
www.nakamura.eti.br/eduardo Análise de Algoritmos 6
1 se
, 1 2
1 se
, ) 1
( T n n
n n T
) (log 1
log )
( n n n
T
• Exemplo #02
www.nakamura.eti.br/eduardo Análise de Algoritmos 7
1 se
, 1 2
2
1 se
, ) 1
( T n n
n n T
) ( 1
2 )
( n n n
T
• Exemplo #03
www.nakamura.eti.br/eduardo Análise de Algoritmos 8