SlideShare uma empresa Scribd logo
1 de 126
Baixar para ler offline
Aula 06 – Rela¸c˜oes de Recorrˆencia
Norton Trevisan Roman
norton@usp.br
30 de agosto de 2018
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 1 / 29
Custo de Algoritmos Recursivos
Medir o n´umero de opera¸c˜oes de algoritmos
iterativos (ou seja, sua Fun¸c˜ao de Complexidade) ´e
razoavelmente f´acil.
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 2 / 29
Custo de Algoritmos Recursivos
Medir o n´umero de opera¸c˜oes de algoritmos
iterativos (ou seja, sua Fun¸c˜ao de Complexidade) ´e
razoavelmente f´acil.
Contamos as opera¸c˜oes desejadas, tomando cuidado com
chamadas a m´etodos e la¸cos
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 2 / 29
Custo de Algoritmos Recursivos
Medir o n´umero de opera¸c˜oes de algoritmos
iterativos (ou seja, sua Fun¸c˜ao de Complexidade) ´e
razoavelmente f´acil.
Contamos as opera¸c˜oes desejadas, tomando cuidado com
chamadas a m´etodos e la¸cos
Como medimos, contudo, o n´umero de opera¸c˜oes de
algoritmos recursivos?
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 2 / 29
Custo de Algoritmos Recursivos
Medir o n´umero de opera¸c˜oes de algoritmos
iterativos (ou seja, sua Fun¸c˜ao de Complexidade) ´e
razoavelmente f´acil.
Contamos as opera¸c˜oes desejadas, tomando cuidado com
chamadas a m´etodos e la¸cos
Como medimos, contudo, o n´umero de opera¸c˜oes de
algoritmos recursivos?
Via rela¸c˜oes de recorrˆencia
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 2 / 29
Custo de Algoritmos Recursivos
Rela¸c˜ao de Recorrˆencia
Uma recorrˆencia ´e uma equa¸c˜ao (ou inequa¸c˜ao) que
descreve uma fun¸c˜ao em termos de seu valor com
entradas menores.
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 3 / 29
Custo de Algoritmos Recursivos
Rela¸c˜ao de Recorrˆencia
Uma recorrˆencia ´e uma equa¸c˜ao (ou inequa¸c˜ao) que
descreve uma fun¸c˜ao em termos de seu valor com
entradas menores.
Trata-se de um modo de definir uma fun¸c˜ao por
uma express˜ao envolvendo a mesma fun¸c˜ao, com
um ou mais valores anteriores
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 3 / 29
Custo de Algoritmos Recursivos
Rela¸c˜ao de Recorrˆencia
Uma recorrˆencia ´e uma equa¸c˜ao (ou inequa¸c˜ao) que
descreve uma fun¸c˜ao em termos de seu valor com
entradas menores.
Trata-se de um modo de definir uma fun¸c˜ao por
uma express˜ao envolvendo a mesma fun¸c˜ao, com
um ou mais valores anteriores
Ou seja, uma express˜ao recursiva para a defini¸c˜ao
de uma fun¸c˜ao
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 3 / 29
Rela¸c˜oes de Recorrˆencia
Exemplo
Quais os 5 primeiros valores da recorrˆencia T(n)
abaixo?
T(n) =
1, se n = 1.
T(n − 1) + 3, para n ≥ 2
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 4 / 29
Rela¸c˜oes de Recorrˆencia
Exemplo
Quais os 5 primeiros valores da recorrˆencia T(n)
abaixo?
T(n) =
1, se n = 1.
T(n − 1) + 3, para n ≥ 2
1,
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 4 / 29
Rela¸c˜oes de Recorrˆencia
Exemplo
Quais os 5 primeiros valores da recorrˆencia T(n)
abaixo?
T(n) =
1, se n = 1.
T(n − 1) + 3, para n ≥ 2
1, 4,
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 4 / 29
Rela¸c˜oes de Recorrˆencia
Exemplo
Quais os 5 primeiros valores da recorrˆencia T(n)
abaixo?
T(n) =
1, se n = 1.
T(n − 1) + 3, para n ≥ 2
1, 4, 7,
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 4 / 29
Rela¸c˜oes de Recorrˆencia
Exemplo
Quais os 5 primeiros valores da recorrˆencia T(n)
abaixo?
T(n) =
1, se n = 1.
T(n − 1) + 3, para n ≥ 2
1, 4, 7, 10,
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 4 / 29
Rela¸c˜oes de Recorrˆencia
Exemplo
Quais os 5 primeiros valores da recorrˆencia T(n)
abaixo?
T(n) =
1, se n = 1.
T(n − 1) + 3, para n ≥ 2
1, 4, 7, 10, 13
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 4 / 29
Rela¸c˜oes de Recorrˆencia
Embora a rela¸c˜ao de recorrˆencia defina a fun¸c˜ao de
custo de forma ´unica, calcular seu resultado final ´e
bem mais dif´ıcil
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 5 / 29
Rela¸c˜oes de Recorrˆencia
Embora a rela¸c˜ao de recorrˆencia defina a fun¸c˜ao de
custo de forma ´unica, calcular seu resultado final ´e
bem mais dif´ıcil
Se seguirmos a defini¸c˜ao, precisaremos calcular todos os
elementos na s´erie que ela representa.
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 5 / 29
Rela¸c˜oes de Recorrˆencia
Embora a rela¸c˜ao de recorrˆencia defina a fun¸c˜ao de
custo de forma ´unica, calcular seu resultado final ´e
bem mais dif´ıcil
Se seguirmos a defini¸c˜ao, precisaremos calcular todos os
elementos na s´erie que ela representa.
Seria muito mais conveniente ter uma f´ormula
fechada para T(n)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 5 / 29
Rela¸c˜oes de Recorrˆencia
Embora a rela¸c˜ao de recorrˆencia defina a fun¸c˜ao de
custo de forma ´unica, calcular seu resultado final ´e
bem mais dif´ıcil
Se seguirmos a defini¸c˜ao, precisaremos calcular todos os
elementos na s´erie que ela representa.
Seria muito mais conveniente ter uma f´ormula
fechada para T(n)
Como?
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 5 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Expans˜ao
Substituem-se os termos T(k), k < n, at´e que todos
os termos T(k), k > 1, tenham sido substitu´ıdos
por f´ormulas contendo apenas T(1)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 6 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Expans˜ao
Substituem-se os termos T(k), k < n, at´e que todos
os termos T(k), k > 1, tenham sido substitu´ıdos
por f´ormulas contendo apenas T(1)
Nesse caso, usamos a base como 1, mas poderia ser
qualquer valor
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 6 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Expans˜ao
Substituem-se os termos T(k), k < n, at´e que todos
os termos T(k), k > 1, tenham sido substitu´ıdos
por f´ormulas contendo apenas T(1)
Nesse caso, usamos a base como 1, mas poderia ser
qualquer valor
Ou seja, expandimos a recorrˆencia, de modo a obter
sua solu¸c˜ao
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 6 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Expans˜ao
Substituem-se os termos T(k), k < n, at´e que todos
os termos T(k), k > 1, tenham sido substitu´ıdos
por f´ormulas contendo apenas T(1)
Nesse caso, usamos a base como 1, mas poderia ser
qualquer valor
Ou seja, expandimos a recorrˆencia, de modo a obter
sua solu¸c˜ao
Essa solu¸c˜ao ´e tamb´em conhecida como forma fechada da
rela¸c˜ao de recorrˆencia
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 6 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Expans˜ao
Usa uma abordagem do tipo “expanda, suponha e
verifique”
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 7 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Expans˜ao
Usa uma abordagem do tipo “expanda, suponha e
verifique”
Usamos repetidamente a rela¸c˜ao de recorrˆencia para expandir
a express˜ao para o n-´esimo termo, at´e que um padr˜ao geral
de comportamento da express˜ao possa ser induzido
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 7 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Expans˜ao
Usa uma abordagem do tipo “expanda, suponha e
verifique”
Usamos repetidamente a rela¸c˜ao de recorrˆencia para expandir
a express˜ao para o n-´esimo termo, at´e que um padr˜ao geral
de comportamento da express˜ao possa ser induzido
Ou seja, expandimos a rela¸c˜ao de recorrˆencia at´e que possa
ser detectado o seu comportamento no caso geral
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 7 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Expans˜ao
Usa uma abordagem do tipo “expanda, suponha e
verifique”
Usamos repetidamente a rela¸c˜ao de recorrˆencia para expandir
a express˜ao para o n-´esimo termo, at´e que um padr˜ao geral
de comportamento da express˜ao possa ser induzido
Ou seja, expandimos a rela¸c˜ao de recorrˆencia at´e que possa
ser detectado o seu comportamento no caso geral
Finalmente, a suposi¸c˜ao ´e verificada (demonstrada)
por indu¸c˜ao matem´atica
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 7 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
para c´alculo do fatorial:
Entrada: inteiro n
Se n=0, retorne 1
Sen~ao
retorne n multiplicado pelo
fatorial de n-1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
para c´alculo do fatorial:
O que contaremos?
Entrada: inteiro n
Se n=0, retorne 1
Sen~ao
retorne n multiplicado pelo
fatorial de n-1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
para c´alculo do fatorial:
O que contaremos?
Opera¸c˜oes aritm´eticas
Entrada: inteiro n
Se n=0, retorne 1
Sen~ao
retorne n multiplicado pelo
fatorial de n-1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
para c´alculo do fatorial:
O que contaremos?
Opera¸c˜oes aritm´eticas
Entrada: inteiro n
Se n=0, retorne 1
Sen~ao
retorne n multiplicado pelo
fatorial de n-1
Qual seria sua rela¸c˜ao de recorrˆencia?
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
para c´alculo do fatorial:
O que contaremos?
Opera¸c˜oes aritm´eticas
Entrada: inteiro n
Se n=0, retorne 1
Sen~ao
retorne n multiplicado pelo
fatorial de n-1
Qual seria sua rela¸c˜ao de recorrˆencia?
Base:
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
para c´alculo do fatorial:
O que contaremos?
Opera¸c˜oes aritm´eticas
Entrada: inteiro n
Se n=0, retorne 1
Sen~ao
retorne n multiplicado pelo
fatorial de n-1
Qual seria sua rela¸c˜ao de recorrˆencia?
Base: n = 0, caso em que retornamos 0! = 1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
para c´alculo do fatorial:
O que contaremos?
Opera¸c˜oes aritm´eticas
Entrada: inteiro n
Se n=0, retorne 1
Sen~ao
retorne n multiplicado pelo
fatorial de n-1
Qual seria sua rela¸c˜ao de recorrˆencia?
Base: n = 0, caso em que retornamos 0! = 1
T(0) = 0, pois n˜ao h´a opera¸c˜ao aritm´etica a´ı
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
M´etodo da Expans˜ao
Exemplo
Recorrˆencia:
T(n) =
Entrada: inteiro n
Se n=0, retorne 1
Sen~ao
retorne n multiplicado pelo
fatorial de n-1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 9 / 29
M´etodo da Expans˜ao
Exemplo
Recorrˆencia: Temos 1
opera¸c˜ao
T(n) = 1
Entrada: inteiro n
Se n=0, retorne 1
Sen~ao
retorne n multiplicado pelo
fatorial de n-1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 9 / 29
M´etodo da Expans˜ao
Exemplo
Recorrˆencia: Temos 1
opera¸c˜ao mais tantas
quantas forem necess´arias
para n − 1
T(n) = 1
Entrada: inteiro n
Se n=0, retorne 1
Sen~ao
retorne n multiplicado pelo
fatorial de n-1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 9 / 29
M´etodo da Expans˜ao
Exemplo
Recorrˆencia: Temos 1
opera¸c˜ao mais tantas
quantas forem necess´arias
para n − 1
T(n) = 1+T(n − 1)
Entrada: inteiro n
Se n=0, retorne 1
Sen~ao
retorne n multiplicado pelo
fatorial de n-1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 9 / 29
M´etodo da Expans˜ao
Exemplo
Recorrˆencia: Temos 1
opera¸c˜ao mais tantas
quantas forem necess´arias
para n − 1
T(n) = 1+T(n − 1)
Entrada: inteiro n
Se n=0, retorne 1
Sen~ao
retorne n multiplicado pelo
fatorial de n-1
Ent˜ao...
T(n) =
0, se n = 0
T(n − 1) + 1, para n ≥ 1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 9 / 29
M´etodo da Expans˜ao
Exemplo
T(n) = T(n − 1) + 1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 10 / 29
M´etodo da Expans˜ao
Exemplo
T(n) = T(n − 1) + 1
= ((T(n − 2) + 1) + 1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 10 / 29
M´etodo da Expans˜ao
Exemplo
T(n) = T(n − 1) + 1
= ((T(n − 2) + 1) + 1
= (((T(n − 3) + 1) + 1) + 1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 10 / 29
M´etodo da Expans˜ao
Exemplo
T(n) = T(n − 1) + 1
= ((T(n − 2) + 1) + 1
= (((T(n − 3) + 1) + 1) + 1
= . . .
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 10 / 29
M´etodo da Expans˜ao
Exemplo
T(n) = T(n − 1) + 1
= ((T(n − 2) + 1) + 1
= (((T(n − 3) + 1) + 1) + 1
= . . .
= (. . . ((T(n − k) +1) + 1) + . . . + 1) + 1
k vezes
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 10 / 29
M´etodo da Expans˜ao
Exemplo
T(n) = T(n − 1) + 1
= ((T(n − 2) + 1) + 1
= (((T(n − 3) + 1) + 1) + 1
= . . .
= (. . . ((T(n − k) +1) + 1) + . . . + 1) + 1
k vezes
= T(0) +
k
i=1
1 (ao fim da expans˜ao)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 10 / 29
M´etodo da Expans˜ao
Exemplo
= T(0) + k, quando T(n − k) = T(0)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 11 / 29
M´etodo da Expans˜ao
Exemplo
= T(0) + k, quando T(n − k) = T(0)
= T(0) + n (pois n − k = 0)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 11 / 29
M´etodo da Expans˜ao
Exemplo
= T(0) + k, quando T(n − k) = T(0)
= T(0) + n (pois n − k = 0)
= n (pois T(0) = 0)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 11 / 29
M´etodo da Expans˜ao
Exemplo
= T(0) + k, quando T(n − k) = T(0)
= T(0) + n (pois n − k = 0)
= n (pois T(0) = 0)
Ent˜ao T(n) = n opera¸c˜oes aritm´eticas s˜ao
necess´arias
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 11 / 29
M´etodo da Expans˜ao
Exemplo
= T(0) + k, quando T(n − k) = T(0)
= T(0) + n (pois n − k = 0)
= n (pois T(0) = 0)
Ent˜ao T(n) = n opera¸c˜oes aritm´eticas s˜ao
necess´arias
Inferimos a forma fechada da rela¸c˜ao de recorrˆencia
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 11 / 29
M´etodo da Expans˜ao
Exemplo
= T(0) + k, quando T(n − k) = T(0)
= T(0) + n (pois n − k = 0)
= n (pois T(0) = 0)
Ent˜ao T(n) = n opera¸c˜oes aritm´eticas s˜ao
necess´arias
Inferimos a forma fechada da rela¸c˜ao de recorrˆencia
A resposta s´o vir´a mesmo com a demonstra¸c˜ao de que
T(n) = n est´a correta
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 11 / 29
M´etodo da Expans˜ao
Exemplo
E por que isso ´e uma indu¸c˜ao?
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 12 / 29
M´etodo da Expans˜ao
Exemplo
E por que isso ´e uma indu¸c˜ao?
Por conta dessa parte:
T(n) = . . .
= (. . . ((T(n − k) +1) + 1) + . . . + 1) + 1
k vezes
= T(0) +
k
i=1
1 (ao fim da expans˜ao)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 12 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
de busca bin´aria:
Entrada: arranjo arr, elemento x
Se o arranjo tiver 1 elemento,
compare com x
Se x=arr[meio], meio ´e o ´ındice
do elemento procurado
Se x<arr[meio], repete a busca
no subarranjo de 0 a meio-1
Sen~ao
repete a busca no subarranjo
de meio+1 ao fim de arr
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
de busca bin´aria:
O que contaremos?
Entrada: arranjo arr, elemento x
Se o arranjo tiver 1 elemento,
compare com x
Se x=arr[meio], meio ´e o ´ındice
do elemento procurado
Se x<arr[meio], repete a busca
no subarranjo de 0 a meio-1
Sen~ao
repete a busca no subarranjo
de meio+1 ao fim de arr
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
de busca bin´aria:
O que contaremos?
Compara¸c˜oes
Entrada: arranjo arr, elemento x
Se o arranjo tiver 1 elemento,
compare com x
Se x=arr[meio], meio ´e o ´ındice
do elemento procurado
Se x<arr[meio], repete a busca
no subarranjo de 0 a meio-1
Sen~ao
repete a busca no subarranjo
de meio+1 ao fim de arr
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
de busca bin´aria:
O que contaremos?
Compara¸c˜oes
Qual seria sua rela¸c˜ao
de recorrˆencia?
Entrada: arranjo arr, elemento x
Se o arranjo tiver 1 elemento,
compare com x
Se x=arr[meio], meio ´e o ´ındice
do elemento procurado
Se x<arr[meio], repete a busca
no subarranjo de 0 a meio-1
Sen~ao
repete a busca no subarranjo
de meio+1 ao fim de arr
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
de busca bin´aria:
O que contaremos?
Compara¸c˜oes
Qual seria sua rela¸c˜ao
de recorrˆencia?
Base:
Entrada: arranjo arr, elemento x
Se o arranjo tiver 1 elemento,
compare com x
Se x=arr[meio], meio ´e o ´ındice
do elemento procurado
Se x<arr[meio], repete a busca
no subarranjo de 0 a meio-1
Sen~ao
repete a busca no subarranjo
de meio+1 ao fim de arr
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
de busca bin´aria:
O que contaremos?
Compara¸c˜oes
Qual seria sua rela¸c˜ao
de recorrˆencia?
Base: |arr| = 1, caso em
que vemos se o elemento
buscado ´e ou n˜ao o do
arranjo
Entrada: arranjo arr, elemento x
Se o arranjo tiver 1 elemento,
compare com x
Se x=arr[meio], meio ´e o ´ındice
do elemento procurado
Se x<arr[meio], repete a busca
no subarranjo de 0 a meio-1
Sen~ao
repete a busca no subarranjo
de meio+1 ao fim de arr
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
M´etodo da Expans˜ao
Exemplo
Considere o algoritmo
de busca bin´aria:
O que contaremos?
Compara¸c˜oes
Qual seria sua rela¸c˜ao
de recorrˆencia?
Base: |arr| = 1, caso em
que vemos se o elemento
buscado ´e ou n˜ao o do
arranjo → T(1) = 1
Entrada: arranjo arr, elemento x
Se o arranjo tiver 1 elemento,
compare com x
Se x=arr[meio], meio ´e o ´ındice
do elemento procurado
Se x<arr[meio], repete a busca
no subarranjo de 0 a meio-1
Sen~ao
repete a busca no subarranjo
de meio+1 ao fim de arr
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
M´etodo da Expans˜ao
Exemplo
Recorrˆencia:
T(n) =
Entrada: arranjo arr, elemento x
Se o arranjo tiver 1 elemento,
compare com x
Se x=arr[meio], meio ´e o ´ındice
do elemento procurado
Se x<arr[meio], repete a busca
no subarranjo de 0 a meio-1
Sen~ao
repete a busca no subarranjo
de meio+1 ao fim de arr
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 14 / 29
M´etodo da Expans˜ao
Exemplo
Recorrˆencia: Temos 1
compara¸c˜ao
T(n) = 1
Entrada: arranjo arr, elemento x
Se o arranjo tiver 1 elemento,
compare com x
Se x=arr[meio], meio ´e o ´ındice
do elemento procurado
Se x<arr[meio], repete a busca
no subarranjo de 0 a meio-1
Sen~ao
repete a busca no subarranjo
de meio+1 ao fim de arr
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 14 / 29
M´etodo da Expans˜ao
Exemplo
Recorrˆencia: Temos 1
compara¸c˜ao mais
tantas quantas forem
necess´arias na metade
inferior
T(n) = 1
Entrada: arranjo arr, elemento x
Se o arranjo tiver 1 elemento,
compare com x
Se x=arr[meio], meio ´e o ´ındice
do elemento procurado
Se x<arr[meio], repete a busca
no subarranjo de 0 a meio-1
Sen~ao
repete a busca no subarranjo
de meio+1 ao fim de arr
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 14 / 29
M´etodo da Expans˜ao
Exemplo
Recorrˆencia: Temos 1
compara¸c˜ao mais
tantas quantas forem
necess´arias na metade
inferior ou superior do
arranjo
T(n) = 1
Entrada: arranjo arr, elemento x
Se o arranjo tiver 1 elemento,
compare com x
Se x=arr[meio], meio ´e o ´ındice
do elemento procurado
Se x<arr[meio], repete a busca
no subarranjo de 0 a meio-1
Sen~ao
repete a busca no subarranjo
de meio+1 ao fim de arr
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 14 / 29
M´etodo da Expans˜ao
Exemplo
Recorrˆencia: Temos 1
compara¸c˜ao mais
tantas quantas forem
necess´arias na metade
inferior ou superior do
arranjo
T(n) = 1+T( n/2 ),
onde n = |arr|
Entrada: arranjo arr, elemento x
Se o arranjo tiver 1 elemento,
compare com x
Se x=arr[meio], meio ´e o ´ındice
do elemento procurado
Se x<arr[meio], repete a busca
no subarranjo de 0 a meio-1
Sen~ao
repete a busca no subarranjo
de meio+1 ao fim de arr
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 14 / 29
M´etodo da Expans˜ao
Exemplo
E...
T(n) =
1, se n = 1.
T( n/2 ) + 1, para n ≥ 2
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 15 / 29
M´etodo da Expans˜ao
Exemplo
E...
T(n) =
1, se n = 1.
T( n/2 ) + 1, para n ≥ 2
Em geral, podemos ignorar pisos ( x ) e tetos
( x ), por se tratar de uma conta aproximada
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 15 / 29
M´etodo da Expans˜ao
Exemplo
E...
T(n) =
1, se n = 1.
T( n/2 ) + 1, para n ≥ 2
Em geral, podemos ignorar pisos ( x ) e tetos
( x ), por se tratar de uma conta aproximada
Ent˜ao vamos expandir isso...
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 15 / 29
M´etodo da Expans˜ao
Exemplo
T(n) = T(n
2) + 1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 16 / 29
M´etodo da Expans˜ao
Exemplo
T(n) = T(n
2) + 1
= ((T(n
4) + 1) + 1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 16 / 29
M´etodo da Expans˜ao
Exemplo
T(n) = T(n
2) + 1
= ((T(n
4) + 1) + 1
= (((T(n
8) + 1) + 1) + 1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 16 / 29
M´etodo da Expans˜ao
Exemplo
T(n) = T(n
2) + 1
= ((T(n
4) + 1) + 1
= (((T(n
8) + 1) + 1) + 1
= . . .
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 16 / 29
M´etodo da Expans˜ao
Exemplo
T(n) = T(n
2) + 1
= ((T(n
4) + 1) + 1
= (((T(n
8) + 1) + 1) + 1
= . . .
= (. . . ((T( n
2k ) +1) + 1) + . . . + 1) + 1
k vezes
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 16 / 29
M´etodo da Expans˜ao
Exemplo
T(n) = T(n
2) + 1
= ((T(n
4) + 1) + 1
= (((T(n
8) + 1) + 1) + 1
= . . .
= (. . . ((T( n
2k ) +1) + 1) + . . . + 1) + 1
k vezes
= T(1) +
k
i=1
1 (ao fim da expans˜ao)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 16 / 29
M´etodo da Expans˜ao
Exemplo
= T(1) + k, quando T( n
2k ) = T(1)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 17 / 29
M´etodo da Expans˜ao
Exemplo
= T(1) + k, quando T( n
2k ) = T(1)
= T(1) + log2(n) (pois n
2k = 1)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 17 / 29
M´etodo da Expans˜ao
Exemplo
= T(1) + k, quando T( n
2k ) = T(1)
= T(1) + log2(n) (pois n
2k = 1)
= 1 + log2(n) (pois T(1) = 1)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 17 / 29
M´etodo da Expans˜ao
Exemplo
= T(1) + k, quando T( n
2k ) = T(1)
= T(1) + log2(n) (pois n
2k = 1)
= 1 + log2(n) (pois T(1) = 1)
Ent˜ao T(n) = log2(n) + 1
compara¸c˜oes s˜ao necess´arias
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 17 / 29
M´etodo da Expans˜ao
Exemplo
= T(1) + k, quando T( n
2k ) = T(1)
= T(1) + log2(n) (pois n
2k = 1)
= 1 + log2(n) (pois T(1) = 1)
Ent˜ao T(n) = log2(n) + 1
compara¸c˜oes s˜ao necess´arias
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 17 / 29
M´etodo da Expans˜ao
Exemplo
Mas isso, contudo, foi uma forma de indu¸c˜ao l´ogica
(embora bem baseada), n˜ao dedu¸c˜ao
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 18 / 29
M´etodo da Expans˜ao
Exemplo
Mas isso, contudo, foi uma forma de indu¸c˜ao l´ogica
(embora bem baseada), n˜ao dedu¸c˜ao
Para finalizar, temos ent˜ao
que demonstrar
dedutivamente (via indu¸c˜ao
finita, por exemplo) que
T(n) = log2(n) + 1 est´a
correta
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 18 / 29
M´etodo da Expans˜ao
Exemplo
Mas isso, contudo, foi uma forma de indu¸c˜ao l´ogica
(embora bem baseada), n˜ao dedu¸c˜ao
Para finalizar, temos ent˜ao
que demonstrar
dedutivamente (via indu¸c˜ao
finita, por exemplo) que
T(n) = log2(n) + 1 est´a
correta
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 18 / 29
M´etodo da Expans˜ao
Exemplo
Mas isso, contudo, foi uma forma de indu¸c˜ao l´ogica
(embora bem baseada), n˜ao dedu¸c˜ao
Para finalizar, temos ent˜ao
que demonstrar
dedutivamente (via indu¸c˜ao
finita, por exemplo) que
T(n) = log2(n) + 1 est´a
correta
Fica como exerc´ıcio...
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 18 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia
Embora a expans˜ao possa, em tese, resolver toda
rela¸c˜ao de recorrˆencias, h´a casos em que fica mais
dif´ıcil
Ex:
T(n) =
1, se n = 1.
2T(n/2) + n, para n ≥ 2
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 19 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia
Embora a expans˜ao possa, em tese, resolver toda
rela¸c˜ao de recorrˆencias, h´a casos em que fica mais
dif´ıcil
Ex:
T(n) =
1, se n = 1.
2T(n/2) + n, para n ≥ 2
Em casos assim, vale a pena construir a ´arvore de
recorrˆencia
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 19 / 29
M´etodo da Expans˜ao
Construindo a ´Arvore de Recorrˆencia
Cada n´o representa o custo de um sub-problema no
conjunto de invoca¸c˜oes recursivas
Somamos os custos em cada n´ıvel da ´arvore para
obter um custo total do n´ıvel
Este ´e o custo adicionado pelas chamadas recursivas naquele
n´ıvel
Somamos todos os custos por n´ıvel para determinar
o custo total da recurs˜ao
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 20 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = 2T(n/2) + n, T(1) = 1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = 2T(n/2) + n, T(1) = 1
T(n) = n
T(n
2) T(n
2)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = 2T(n/2) + n, T(1) = 1
T(n) = n
T(n
2) T(n
2)
Custo adicionado
no n´ıvel mais alto
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = 2T(n/2) + n, T(1) = 1
T(n) = n
T(n
2) T(n
2)
Custo de cada
uma das 2 cha-
madas recursivas
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = 2T(n/2) + n, T(1) = 1
T(n) = n
n
2
n
2
Custo de cada
uma das 2 cha-
madas recursivas
T(n
4) T(n
4) T(n
4) T(n
4)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = 2T(n/2) + n, T(1) = 1
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = 2T(n/2) + n, T(1) = 1
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
. . .
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = 2T(n/2) + n, T(1) = 1
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
. . .
= n
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = 2T(n/2) + n, T(1) = 1
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
. . .
= n
= 2 × n
2
= n
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = 2T(n/2) + n, T(1) = 1
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
. . .
= n
= 2 × n
2
= n
= 4 × n
4
= n
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = 2T(n/2) + n, T(1) = 1
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
. . .
= n
= 2 × n
2
= n
= 4 × n
4
= n
= 8 × n
8
= n
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = 2T(n/2) + n, T(1) = 1
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
. . .
= n
= 2 × n
2
= n
= 4 × n
4
= n
= 8 × n
8
= n
. . .
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
. . .
= n
= 2 × n
2
= n
= 4 × n
4
= n
= 8 × n
8
= n
. . .
Note que cada n´ıvel da recorrˆencia acrescenta n ao
resultado final.
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 22 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
. . .
= n
= 2 × n
2
= n
= 4 × n
4
= n
= 8 × n
8
= n
. . .
Note que cada n´ıvel da recorrˆencia acrescenta n ao
resultado final. Mas, quantos n´ıveis h´a?
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 22 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
Vejamos como a recorrˆencia reduz a cada n´ıvel:
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
...
... . . . ...
...
T(1) T(1) . . . T(1) T(1)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
Vejamos como a recorrˆencia reduz a cada n´ıvel:
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
...
... . . . ...
...
T(1) T(1) . . . T(1) T(1)
T( n
20 )
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
Vejamos como a recorrˆencia reduz a cada n´ıvel:
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
...
... . . . ...
...
T(1) T(1) . . . T(1) T(1)
T( n
20 )
T( n
21 )
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
Vejamos como a recorrˆencia reduz a cada n´ıvel:
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
...
... . . . ...
...
T(1) T(1) . . . T(1) T(1)
T( n
20 )
T( n
21 )
T( n
22 )
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
Vejamos como a recorrˆencia reduz a cada n´ıvel:
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
...
... . . . ...
...
T(1) T(1) . . . T(1) T(1)
T( n
20 )
T( n
21 )
T( n
22 )
T( n
23 )
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
Vejamos como a recorrˆencia reduz a cada n´ıvel:
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
...
... . . . ...
...
T(1) T(1) . . . T(1) T(1)
T( n
20 )
T( n
21 )
T( n
22 )
T( n
23 )
...
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
Vejamos como a recorrˆencia reduz a cada n´ıvel:
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
...
... . . . ...
...
T(1) T(1) . . . T(1) T(1)
T( n
20 )
T( n
21 )
T( n
22 )
T( n
23 )
...
T( n
2k−1 )
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
...
... . . . ...
...
T(1) T(1) . . . T(1) T(1)
T( n
20 )
T( n
21 )
T( n
22 )
T( n
23 )
...
T( n
2k−1 )
Ou seja, temos k n´ıveis, sendo que, no k-´esimo
n´ıvel, n
2k−1 = 1 ⇒ k = log2(n) + 1
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 24 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
...
... . . . ...
...
T(1) T(1) . . . T(1) T(1)
T( n
20 )
T( n
21 )
T( n
22 )
T( n
23 )
...
T( n
2k−1 )
Com log2(n) + 1 n´ıveis, e n opera¸c˜oes por n´ıvel,
temos um total de nlog2(n) + n opera¸c˜oes.
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 25 / 29
M´etodo da Expans˜ao
´Arvore de Recorrˆencia – Exemplo
T(n) = n
n
2
n
2
n
4
n
4
n
4
n
4
T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8) T(n
8)
...
... . . . ...
...
T(1) T(1) . . . T(1) T(1)
T( n
20 )
T( n
21 )
T( n
22 )
T( n
23 )
...
T( n
2k−1 )
Mais uma vez, temos que demonstrar via indu¸c˜ao
que nossa resposta est´a correta.
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 25 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
O m´etodo da expans˜ao ´e bastante ´util
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 26 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
O m´etodo da expans˜ao ´e bastante ´util
Muitas vezes, contudo, n˜ao ´e f´acil chegar a uma forma
fechada para a rela¸c˜ao de recorrˆencia
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 26 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
O m´etodo da expans˜ao ´e bastante ´util
Muitas vezes, contudo, n˜ao ´e f´acil chegar a uma forma
fechada para a rela¸c˜ao de recorrˆencia
Que fazer?
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 26 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
O m´etodo da expans˜ao ´e bastante ´util
Muitas vezes, contudo, n˜ao ´e f´acil chegar a uma forma
fechada para a rela¸c˜ao de recorrˆencia
Que fazer?
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 26 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
O m´etodo da expans˜ao ´e bastante ´util
Muitas vezes, contudo, n˜ao ´e f´acil chegar a uma forma
fechada para a rela¸c˜ao de recorrˆencia
Que fazer?
M´etodo da substitui¸c˜ao
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 26 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
Consiste de 2 passos:
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 27 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
Consiste de 2 passos:
Pressupor a forma da solu¸c˜ao
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 27 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
Consiste de 2 passos:
Pressupor a forma da solu¸c˜ao
Usar indu¸c˜ao finita para encontrar constantes e mostrar que
a solu¸c˜ao funciona
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 27 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
Consiste de 2 passos:
Pressupor a forma da solu¸c˜ao
Usar indu¸c˜ao finita para encontrar constantes e mostrar que
a solu¸c˜ao funciona
Aplic´avel quando podemos ver a forma da resposta
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 27 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
Consiste de 2 passos:
Pressupor a forma da solu¸c˜ao
Usar indu¸c˜ao finita para encontrar constantes e mostrar que
a solu¸c˜ao funciona
Aplic´avel quando podemos ver a forma da resposta
Como quando a recorrˆencia ´e muito parecida com outra que
j´a foi vista
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 27 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
Consiste de 2 passos:
Pressupor a forma da solu¸c˜ao
Usar indu¸c˜ao finita para encontrar constantes e mostrar que
a solu¸c˜ao funciona
Aplic´avel quando podemos ver a forma da resposta
Como quando a recorrˆencia ´e muito parecida com outra que
j´a foi vista
Ainda assim, pode ser utilizado para estabelecer limites
superiores e inferiores para uma recorrˆencia
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 27 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
Uma vez que estamos supondo a solu¸c˜ao, podemos
adicionar constantes a ela
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 28 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
Uma vez que estamos supondo a solu¸c˜ao, podemos
adicionar constantes a ela
Ex:
T(n) = c1nlog2(n) + c2n, em vez de T(n) = nlog2(n) + n,
ou mesmo de T(n) = nlog2(n)
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 28 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
Uma vez que estamos supondo a solu¸c˜ao, podemos
adicionar constantes a ela
Ex:
T(n) = c1nlog2(n) + c2n, em vez de T(n) = nlog2(n) + n,
ou mesmo de T(n) = nlog2(n)
Essas constantes s˜ao ent˜ao definidas durante a
prova
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 28 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
Uma vez que estamos supondo a solu¸c˜ao, podemos
adicionar constantes a ela
Ex:
T(n) = c1nlog2(n) + c2n, em vez de T(n) = nlog2(n) + n,
ou mesmo de T(n) = nlog2(n)
Essas constantes s˜ao ent˜ao definidas durante a
prova
Ou seja, definidas de modo a fazer com que a prova dˆe certo.
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 28 / 29
Resolvendo Rela¸c˜oes de Recorrˆencia
M´etodo da Substitui¸c˜ao
Uma vez que estamos supondo a solu¸c˜ao, podemos
adicionar constantes a ela
Ex:
T(n) = c1nlog2(n) + c2n, em vez de T(n) = nlog2(n) + n,
ou mesmo de T(n) = nlog2(n)
Essas constantes s˜ao ent˜ao definidas durante a
prova
Ou seja, definidas de modo a fazer com que a prova dˆe certo.
Veremos mais sobre limites na pr´oxima aula...
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 28 / 29
Referˆencias
Ziviani, Nivio. Projeto de Algoritmos: com implementa¸c˜oes
em Java e C++. Cengage. 2007.
Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L.,
Stein, Clifford. Introduction to Algorithms. 2a ed. MIT Press,
2001.
Gersting, Judith L. Fundamentos Matem´aticos para a Ciˆencia
da Computa¸c˜ao. 3a ed. LTC. 1993.
Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 29 / 29

Mais conteúdo relacionado

Mais procurados

(ACH2002) Introdução à Análise de Algoritmos - Aula 01
(ACH2002) Introdução à Análise de Algoritmos - Aula 01(ACH2002) Introdução à Análise de Algoritmos - Aula 01
(ACH2002) Introdução à Análise de Algoritmos - Aula 01Norton Trevisan Roman
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 14
(ACH2002) Introdução à Análise de Algoritmos - Aula 14(ACH2002) Introdução à Análise de Algoritmos - Aula 14
(ACH2002) Introdução à Análise de Algoritmos - Aula 14Norton Trevisan Roman
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 07
(ACH2002) Introdução à Análise de Algoritmos - Aula 07(ACH2002) Introdução à Análise de Algoritmos - Aula 07
(ACH2002) Introdução à Análise de Algoritmos - Aula 07Norton Trevisan Roman
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 11
(ACH2002) Introdução à Análise de Algoritmos - Aula 11(ACH2002) Introdução à Análise de Algoritmos - Aula 11
(ACH2002) Introdução à Análise de Algoritmos - Aula 11Norton Trevisan Roman
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 04
(ACH2002) Introdução à Análise de Algoritmos - Aula 04(ACH2002) Introdução à Análise de Algoritmos - Aula 04
(ACH2002) Introdução à Análise de Algoritmos - Aula 04Norton Trevisan Roman
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 15
(ACH2002) Introdução à Análise de Algoritmos - Aula 15(ACH2002) Introdução à Análise de Algoritmos - Aula 15
(ACH2002) Introdução à Análise de Algoritmos - Aula 15Norton Trevisan Roman
 
Matemática Computacional
Matemática ComputacionalMatemática Computacional
Matemática ComputacionalRicardo Terra
 
Apresentacao N P Completude Loiane
Apresentacao  N P Completude  LoianeApresentacao  N P Completude  Loiane
Apresentacao N P Completude LoianeLoiane Groner
 

Mais procurados (9)

(ACH2002) Introdução à Análise de Algoritmos - Aula 01
(ACH2002) Introdução à Análise de Algoritmos - Aula 01(ACH2002) Introdução à Análise de Algoritmos - Aula 01
(ACH2002) Introdução à Análise de Algoritmos - Aula 01
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 14
(ACH2002) Introdução à Análise de Algoritmos - Aula 14(ACH2002) Introdução à Análise de Algoritmos - Aula 14
(ACH2002) Introdução à Análise de Algoritmos - Aula 14
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 07
(ACH2002) Introdução à Análise de Algoritmos - Aula 07(ACH2002) Introdução à Análise de Algoritmos - Aula 07
(ACH2002) Introdução à Análise de Algoritmos - Aula 07
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 11
(ACH2002) Introdução à Análise de Algoritmos - Aula 11(ACH2002) Introdução à Análise de Algoritmos - Aula 11
(ACH2002) Introdução à Análise de Algoritmos - Aula 11
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 04
(ACH2002) Introdução à Análise de Algoritmos - Aula 04(ACH2002) Introdução à Análise de Algoritmos - Aula 04
(ACH2002) Introdução à Análise de Algoritmos - Aula 04
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 15
(ACH2002) Introdução à Análise de Algoritmos - Aula 15(ACH2002) Introdução à Análise de Algoritmos - Aula 15
(ACH2002) Introdução à Análise de Algoritmos - Aula 15
 
Matemática Computacional
Matemática ComputacionalMatemática Computacional
Matemática Computacional
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Apresentacao N P Completude Loiane
Apresentacao  N P Completude  LoianeApresentacao  N P Completude  Loiane
Apresentacao N P Completude Loiane
 

Semelhante a (ACH2002) Introdução à Análise de Algoritmos - Aula 06

Prova Comentada de Estatística - TCU 2015
Prova Comentada de Estatística - TCU 2015Prova Comentada de Estatística - TCU 2015
Prova Comentada de Estatística - TCU 2015Estratégia Concursos
 
Ap mat em questoes gabarito 001 resolvidos
Ap mat em questoes gabarito  001 resolvidosAp mat em questoes gabarito  001 resolvidos
Ap mat em questoes gabarito 001 resolvidostrigono_metrico
 
Apostila matemática aplicada
Apostila matemática aplicadaApostila matemática aplicada
Apostila matemática aplicadaMarcos Nori
 
Apostila de Aritmética Modular
Apostila de Aritmética ModularApostila de Aritmética Modular
Apostila de Aritmética Modularmarcobazuca
 
Apostila tcc
Apostila tccApostila tcc
Apostila tccapfheob
 
(754700145) mat financeira ua01
(754700145) mat financeira ua01(754700145) mat financeira ua01
(754700145) mat financeira ua01edileusa araujo
 
Algoritmos e Programação_01
Algoritmos e Programação_01Algoritmos e Programação_01
Algoritmos e Programação_01Gabriel Demétrio
 
Aula 2 profmat - Aplicacoes da Inducao
Aula 2   profmat - Aplicacoes da InducaoAula 2   profmat - Aplicacoes da Inducao
Aula 2 profmat - Aplicacoes da InducaoAline Guedes
 
Aula 2 PROFMAT Aplicacoes da Inducao
Aula 2   PROFMAT Aplicacoes da InducaoAula 2   PROFMAT Aplicacoes da Inducao
Aula 2 PROFMAT Aplicacoes da InducaoAline Guedes
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em Crodolfoeyalana
 
Série de Pagamentos==MFN_un3.pdf
Série de Pagamentos==MFN_un3.pdfSérie de Pagamentos==MFN_un3.pdf
Série de Pagamentos==MFN_un3.pdfLuiz Avelar
 
Aula sobre Logaritmo - definição e propriedades.pptx
Aula sobre Logaritmo - definição e propriedades.pptxAula sobre Logaritmo - definição e propriedades.pptx
Aula sobre Logaritmo - definição e propriedades.pptxthamyjuntto
 
1ª aula -_matemática_fundamental_-_licenciaturas_eletiva_-_02-08-13 (1)
1ª aula -_matemática_fundamental_-_licenciaturas_eletiva_-_02-08-13 (1)1ª aula -_matemática_fundamental_-_licenciaturas_eletiva_-_02-08-13 (1)
1ª aula -_matemática_fundamental_-_licenciaturas_eletiva_-_02-08-13 (1)Aparecida Mallagoli
 
AULAO MATEMÁTICA BÁSICA ENSINO MÉDIO.ppt
AULAO MATEMÁTICA BÁSICA ENSINO MÉDIO.pptAULAO MATEMÁTICA BÁSICA ENSINO MÉDIO.ppt
AULAO MATEMÁTICA BÁSICA ENSINO MÉDIO.pptMarcosViniciusLemesL
 
Resumo para Teste ANPAD - Raciocínio Lógico & Quantitativo
Resumo para Teste ANPAD - Raciocínio Lógico & QuantitativoResumo para Teste ANPAD - Raciocínio Lógico & Quantitativo
Resumo para Teste ANPAD - Raciocínio Lógico & QuantitativoEstratégia Concursos
 

Semelhante a (ACH2002) Introdução à Análise de Algoritmos - Aula 06 (20)

Prova Comentada de Estatística - TCU 2015
Prova Comentada de Estatística - TCU 2015Prova Comentada de Estatística - TCU 2015
Prova Comentada de Estatística - TCU 2015
 
Ap mat em questoes gabarito 001 resolvidos
Ap mat em questoes gabarito  001 resolvidosAp mat em questoes gabarito  001 resolvidos
Ap mat em questoes gabarito 001 resolvidos
 
Apostila matemática aplicada
Apostila matemática aplicadaApostila matemática aplicada
Apostila matemática aplicada
 
Apostila de Aritmética Modular
Apostila de Aritmética ModularApostila de Aritmética Modular
Apostila de Aritmética Modular
 
Apostila tcc
Apostila tccApostila tcc
Apostila tcc
 
Algoritmos e Programação
Algoritmos e ProgramaçãoAlgoritmos e Programação
Algoritmos e Programação
 
Forb.cap1
Forb.cap1Forb.cap1
Forb.cap1
 
(754700145) mat financeira ua01
(754700145) mat financeira ua01(754700145) mat financeira ua01
(754700145) mat financeira ua01
 
Plano de Aula P.A. CAp
Plano de Aula P.A. CApPlano de Aula P.A. CAp
Plano de Aula P.A. CAp
 
Algoritmos e Programação_01
Algoritmos e Programação_01Algoritmos e Programação_01
Algoritmos e Programação_01
 
Aula 2 profmat - Aplicacoes da Inducao
Aula 2   profmat - Aplicacoes da InducaoAula 2   profmat - Aplicacoes da Inducao
Aula 2 profmat - Aplicacoes da Inducao
 
Aula 2 PROFMAT Aplicacoes da Inducao
Aula 2   PROFMAT Aplicacoes da InducaoAula 2   PROFMAT Aplicacoes da Inducao
Aula 2 PROFMAT Aplicacoes da Inducao
 
Resumão ibge
Resumão ibgeResumão ibge
Resumão ibge
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em C
 
Série de Pagamentos==MFN_un3.pdf
Série de Pagamentos==MFN_un3.pdfSérie de Pagamentos==MFN_un3.pdf
Série de Pagamentos==MFN_un3.pdf
 
Pesquisa sequencial
Pesquisa sequencialPesquisa sequencial
Pesquisa sequencial
 
Aula sobre Logaritmo - definição e propriedades.pptx
Aula sobre Logaritmo - definição e propriedades.pptxAula sobre Logaritmo - definição e propriedades.pptx
Aula sobre Logaritmo - definição e propriedades.pptx
 
1ª aula -_matemática_fundamental_-_licenciaturas_eletiva_-_02-08-13 (1)
1ª aula -_matemática_fundamental_-_licenciaturas_eletiva_-_02-08-13 (1)1ª aula -_matemática_fundamental_-_licenciaturas_eletiva_-_02-08-13 (1)
1ª aula -_matemática_fundamental_-_licenciaturas_eletiva_-_02-08-13 (1)
 
AULAO MATEMÁTICA BÁSICA ENSINO MÉDIO.ppt
AULAO MATEMÁTICA BÁSICA ENSINO MÉDIO.pptAULAO MATEMÁTICA BÁSICA ENSINO MÉDIO.ppt
AULAO MATEMÁTICA BÁSICA ENSINO MÉDIO.ppt
 
Resumo para Teste ANPAD - Raciocínio Lógico & Quantitativo
Resumo para Teste ANPAD - Raciocínio Lógico & QuantitativoResumo para Teste ANPAD - Raciocínio Lógico & Quantitativo
Resumo para Teste ANPAD - Raciocínio Lógico & Quantitativo
 

Mais de Norton Trevisan Roman

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05Norton Trevisan Roman
 

Mais de Norton Trevisan Roman (20)

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10
 
(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05
 

Último

análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e CaracterísticassAugusto Costa
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxSamiraMiresVieiradeM
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 

Último (20)

análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e Característicass
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 

(ACH2002) Introdução à Análise de Algoritmos - Aula 06

  • 1. Aula 06 – Rela¸c˜oes de Recorrˆencia Norton Trevisan Roman norton@usp.br 30 de agosto de 2018 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 1 / 29
  • 2. Custo de Algoritmos Recursivos Medir o n´umero de opera¸c˜oes de algoritmos iterativos (ou seja, sua Fun¸c˜ao de Complexidade) ´e razoavelmente f´acil. Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 2 / 29
  • 3. Custo de Algoritmos Recursivos Medir o n´umero de opera¸c˜oes de algoritmos iterativos (ou seja, sua Fun¸c˜ao de Complexidade) ´e razoavelmente f´acil. Contamos as opera¸c˜oes desejadas, tomando cuidado com chamadas a m´etodos e la¸cos Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 2 / 29
  • 4. Custo de Algoritmos Recursivos Medir o n´umero de opera¸c˜oes de algoritmos iterativos (ou seja, sua Fun¸c˜ao de Complexidade) ´e razoavelmente f´acil. Contamos as opera¸c˜oes desejadas, tomando cuidado com chamadas a m´etodos e la¸cos Como medimos, contudo, o n´umero de opera¸c˜oes de algoritmos recursivos? Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 2 / 29
  • 5. Custo de Algoritmos Recursivos Medir o n´umero de opera¸c˜oes de algoritmos iterativos (ou seja, sua Fun¸c˜ao de Complexidade) ´e razoavelmente f´acil. Contamos as opera¸c˜oes desejadas, tomando cuidado com chamadas a m´etodos e la¸cos Como medimos, contudo, o n´umero de opera¸c˜oes de algoritmos recursivos? Via rela¸c˜oes de recorrˆencia Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 2 / 29
  • 6. Custo de Algoritmos Recursivos Rela¸c˜ao de Recorrˆencia Uma recorrˆencia ´e uma equa¸c˜ao (ou inequa¸c˜ao) que descreve uma fun¸c˜ao em termos de seu valor com entradas menores. Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 3 / 29
  • 7. Custo de Algoritmos Recursivos Rela¸c˜ao de Recorrˆencia Uma recorrˆencia ´e uma equa¸c˜ao (ou inequa¸c˜ao) que descreve uma fun¸c˜ao em termos de seu valor com entradas menores. Trata-se de um modo de definir uma fun¸c˜ao por uma express˜ao envolvendo a mesma fun¸c˜ao, com um ou mais valores anteriores Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 3 / 29
  • 8. Custo de Algoritmos Recursivos Rela¸c˜ao de Recorrˆencia Uma recorrˆencia ´e uma equa¸c˜ao (ou inequa¸c˜ao) que descreve uma fun¸c˜ao em termos de seu valor com entradas menores. Trata-se de um modo de definir uma fun¸c˜ao por uma express˜ao envolvendo a mesma fun¸c˜ao, com um ou mais valores anteriores Ou seja, uma express˜ao recursiva para a defini¸c˜ao de uma fun¸c˜ao Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 3 / 29
  • 9. Rela¸c˜oes de Recorrˆencia Exemplo Quais os 5 primeiros valores da recorrˆencia T(n) abaixo? T(n) = 1, se n = 1. T(n − 1) + 3, para n ≥ 2 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 4 / 29
  • 10. Rela¸c˜oes de Recorrˆencia Exemplo Quais os 5 primeiros valores da recorrˆencia T(n) abaixo? T(n) = 1, se n = 1. T(n − 1) + 3, para n ≥ 2 1, Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 4 / 29
  • 11. Rela¸c˜oes de Recorrˆencia Exemplo Quais os 5 primeiros valores da recorrˆencia T(n) abaixo? T(n) = 1, se n = 1. T(n − 1) + 3, para n ≥ 2 1, 4, Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 4 / 29
  • 12. Rela¸c˜oes de Recorrˆencia Exemplo Quais os 5 primeiros valores da recorrˆencia T(n) abaixo? T(n) = 1, se n = 1. T(n − 1) + 3, para n ≥ 2 1, 4, 7, Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 4 / 29
  • 13. Rela¸c˜oes de Recorrˆencia Exemplo Quais os 5 primeiros valores da recorrˆencia T(n) abaixo? T(n) = 1, se n = 1. T(n − 1) + 3, para n ≥ 2 1, 4, 7, 10, Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 4 / 29
  • 14. Rela¸c˜oes de Recorrˆencia Exemplo Quais os 5 primeiros valores da recorrˆencia T(n) abaixo? T(n) = 1, se n = 1. T(n − 1) + 3, para n ≥ 2 1, 4, 7, 10, 13 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 4 / 29
  • 15. Rela¸c˜oes de Recorrˆencia Embora a rela¸c˜ao de recorrˆencia defina a fun¸c˜ao de custo de forma ´unica, calcular seu resultado final ´e bem mais dif´ıcil Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 5 / 29
  • 16. Rela¸c˜oes de Recorrˆencia Embora a rela¸c˜ao de recorrˆencia defina a fun¸c˜ao de custo de forma ´unica, calcular seu resultado final ´e bem mais dif´ıcil Se seguirmos a defini¸c˜ao, precisaremos calcular todos os elementos na s´erie que ela representa. Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 5 / 29
  • 17. Rela¸c˜oes de Recorrˆencia Embora a rela¸c˜ao de recorrˆencia defina a fun¸c˜ao de custo de forma ´unica, calcular seu resultado final ´e bem mais dif´ıcil Se seguirmos a defini¸c˜ao, precisaremos calcular todos os elementos na s´erie que ela representa. Seria muito mais conveniente ter uma f´ormula fechada para T(n) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 5 / 29
  • 18. Rela¸c˜oes de Recorrˆencia Embora a rela¸c˜ao de recorrˆencia defina a fun¸c˜ao de custo de forma ´unica, calcular seu resultado final ´e bem mais dif´ıcil Se seguirmos a defini¸c˜ao, precisaremos calcular todos os elementos na s´erie que ela representa. Seria muito mais conveniente ter uma f´ormula fechada para T(n) Como? Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 5 / 29
  • 19. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Expans˜ao Substituem-se os termos T(k), k < n, at´e que todos os termos T(k), k > 1, tenham sido substitu´ıdos por f´ormulas contendo apenas T(1) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 6 / 29
  • 20. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Expans˜ao Substituem-se os termos T(k), k < n, at´e que todos os termos T(k), k > 1, tenham sido substitu´ıdos por f´ormulas contendo apenas T(1) Nesse caso, usamos a base como 1, mas poderia ser qualquer valor Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 6 / 29
  • 21. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Expans˜ao Substituem-se os termos T(k), k < n, at´e que todos os termos T(k), k > 1, tenham sido substitu´ıdos por f´ormulas contendo apenas T(1) Nesse caso, usamos a base como 1, mas poderia ser qualquer valor Ou seja, expandimos a recorrˆencia, de modo a obter sua solu¸c˜ao Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 6 / 29
  • 22. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Expans˜ao Substituem-se os termos T(k), k < n, at´e que todos os termos T(k), k > 1, tenham sido substitu´ıdos por f´ormulas contendo apenas T(1) Nesse caso, usamos a base como 1, mas poderia ser qualquer valor Ou seja, expandimos a recorrˆencia, de modo a obter sua solu¸c˜ao Essa solu¸c˜ao ´e tamb´em conhecida como forma fechada da rela¸c˜ao de recorrˆencia Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 6 / 29
  • 23. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Expans˜ao Usa uma abordagem do tipo “expanda, suponha e verifique” Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 7 / 29
  • 24. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Expans˜ao Usa uma abordagem do tipo “expanda, suponha e verifique” Usamos repetidamente a rela¸c˜ao de recorrˆencia para expandir a express˜ao para o n-´esimo termo, at´e que um padr˜ao geral de comportamento da express˜ao possa ser induzido Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 7 / 29
  • 25. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Expans˜ao Usa uma abordagem do tipo “expanda, suponha e verifique” Usamos repetidamente a rela¸c˜ao de recorrˆencia para expandir a express˜ao para o n-´esimo termo, at´e que um padr˜ao geral de comportamento da express˜ao possa ser induzido Ou seja, expandimos a rela¸c˜ao de recorrˆencia at´e que possa ser detectado o seu comportamento no caso geral Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 7 / 29
  • 26. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Expans˜ao Usa uma abordagem do tipo “expanda, suponha e verifique” Usamos repetidamente a rela¸c˜ao de recorrˆencia para expandir a express˜ao para o n-´esimo termo, at´e que um padr˜ao geral de comportamento da express˜ao possa ser induzido Ou seja, expandimos a rela¸c˜ao de recorrˆencia at´e que possa ser detectado o seu comportamento no caso geral Finalmente, a suposi¸c˜ao ´e verificada (demonstrada) por indu¸c˜ao matem´atica Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 7 / 29
  • 27. M´etodo da Expans˜ao Exemplo Considere o algoritmo para c´alculo do fatorial: Entrada: inteiro n Se n=0, retorne 1 Sen~ao retorne n multiplicado pelo fatorial de n-1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
  • 28. M´etodo da Expans˜ao Exemplo Considere o algoritmo para c´alculo do fatorial: O que contaremos? Entrada: inteiro n Se n=0, retorne 1 Sen~ao retorne n multiplicado pelo fatorial de n-1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
  • 29. M´etodo da Expans˜ao Exemplo Considere o algoritmo para c´alculo do fatorial: O que contaremos? Opera¸c˜oes aritm´eticas Entrada: inteiro n Se n=0, retorne 1 Sen~ao retorne n multiplicado pelo fatorial de n-1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
  • 30. M´etodo da Expans˜ao Exemplo Considere o algoritmo para c´alculo do fatorial: O que contaremos? Opera¸c˜oes aritm´eticas Entrada: inteiro n Se n=0, retorne 1 Sen~ao retorne n multiplicado pelo fatorial de n-1 Qual seria sua rela¸c˜ao de recorrˆencia? Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
  • 31. M´etodo da Expans˜ao Exemplo Considere o algoritmo para c´alculo do fatorial: O que contaremos? Opera¸c˜oes aritm´eticas Entrada: inteiro n Se n=0, retorne 1 Sen~ao retorne n multiplicado pelo fatorial de n-1 Qual seria sua rela¸c˜ao de recorrˆencia? Base: Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
  • 32. M´etodo da Expans˜ao Exemplo Considere o algoritmo para c´alculo do fatorial: O que contaremos? Opera¸c˜oes aritm´eticas Entrada: inteiro n Se n=0, retorne 1 Sen~ao retorne n multiplicado pelo fatorial de n-1 Qual seria sua rela¸c˜ao de recorrˆencia? Base: n = 0, caso em que retornamos 0! = 1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
  • 33. M´etodo da Expans˜ao Exemplo Considere o algoritmo para c´alculo do fatorial: O que contaremos? Opera¸c˜oes aritm´eticas Entrada: inteiro n Se n=0, retorne 1 Sen~ao retorne n multiplicado pelo fatorial de n-1 Qual seria sua rela¸c˜ao de recorrˆencia? Base: n = 0, caso em que retornamos 0! = 1 T(0) = 0, pois n˜ao h´a opera¸c˜ao aritm´etica a´ı Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 8 / 29
  • 34. M´etodo da Expans˜ao Exemplo Recorrˆencia: T(n) = Entrada: inteiro n Se n=0, retorne 1 Sen~ao retorne n multiplicado pelo fatorial de n-1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 9 / 29
  • 35. M´etodo da Expans˜ao Exemplo Recorrˆencia: Temos 1 opera¸c˜ao T(n) = 1 Entrada: inteiro n Se n=0, retorne 1 Sen~ao retorne n multiplicado pelo fatorial de n-1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 9 / 29
  • 36. M´etodo da Expans˜ao Exemplo Recorrˆencia: Temos 1 opera¸c˜ao mais tantas quantas forem necess´arias para n − 1 T(n) = 1 Entrada: inteiro n Se n=0, retorne 1 Sen~ao retorne n multiplicado pelo fatorial de n-1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 9 / 29
  • 37. M´etodo da Expans˜ao Exemplo Recorrˆencia: Temos 1 opera¸c˜ao mais tantas quantas forem necess´arias para n − 1 T(n) = 1+T(n − 1) Entrada: inteiro n Se n=0, retorne 1 Sen~ao retorne n multiplicado pelo fatorial de n-1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 9 / 29
  • 38. M´etodo da Expans˜ao Exemplo Recorrˆencia: Temos 1 opera¸c˜ao mais tantas quantas forem necess´arias para n − 1 T(n) = 1+T(n − 1) Entrada: inteiro n Se n=0, retorne 1 Sen~ao retorne n multiplicado pelo fatorial de n-1 Ent˜ao... T(n) = 0, se n = 0 T(n − 1) + 1, para n ≥ 1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 9 / 29
  • 39. M´etodo da Expans˜ao Exemplo T(n) = T(n − 1) + 1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 10 / 29
  • 40. M´etodo da Expans˜ao Exemplo T(n) = T(n − 1) + 1 = ((T(n − 2) + 1) + 1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 10 / 29
  • 41. M´etodo da Expans˜ao Exemplo T(n) = T(n − 1) + 1 = ((T(n − 2) + 1) + 1 = (((T(n − 3) + 1) + 1) + 1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 10 / 29
  • 42. M´etodo da Expans˜ao Exemplo T(n) = T(n − 1) + 1 = ((T(n − 2) + 1) + 1 = (((T(n − 3) + 1) + 1) + 1 = . . . Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 10 / 29
  • 43. M´etodo da Expans˜ao Exemplo T(n) = T(n − 1) + 1 = ((T(n − 2) + 1) + 1 = (((T(n − 3) + 1) + 1) + 1 = . . . = (. . . ((T(n − k) +1) + 1) + . . . + 1) + 1 k vezes Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 10 / 29
  • 44. M´etodo da Expans˜ao Exemplo T(n) = T(n − 1) + 1 = ((T(n − 2) + 1) + 1 = (((T(n − 3) + 1) + 1) + 1 = . . . = (. . . ((T(n − k) +1) + 1) + . . . + 1) + 1 k vezes = T(0) + k i=1 1 (ao fim da expans˜ao) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 10 / 29
  • 45. M´etodo da Expans˜ao Exemplo = T(0) + k, quando T(n − k) = T(0) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 11 / 29
  • 46. M´etodo da Expans˜ao Exemplo = T(0) + k, quando T(n − k) = T(0) = T(0) + n (pois n − k = 0) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 11 / 29
  • 47. M´etodo da Expans˜ao Exemplo = T(0) + k, quando T(n − k) = T(0) = T(0) + n (pois n − k = 0) = n (pois T(0) = 0) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 11 / 29
  • 48. M´etodo da Expans˜ao Exemplo = T(0) + k, quando T(n − k) = T(0) = T(0) + n (pois n − k = 0) = n (pois T(0) = 0) Ent˜ao T(n) = n opera¸c˜oes aritm´eticas s˜ao necess´arias Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 11 / 29
  • 49. M´etodo da Expans˜ao Exemplo = T(0) + k, quando T(n − k) = T(0) = T(0) + n (pois n − k = 0) = n (pois T(0) = 0) Ent˜ao T(n) = n opera¸c˜oes aritm´eticas s˜ao necess´arias Inferimos a forma fechada da rela¸c˜ao de recorrˆencia Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 11 / 29
  • 50. M´etodo da Expans˜ao Exemplo = T(0) + k, quando T(n − k) = T(0) = T(0) + n (pois n − k = 0) = n (pois T(0) = 0) Ent˜ao T(n) = n opera¸c˜oes aritm´eticas s˜ao necess´arias Inferimos a forma fechada da rela¸c˜ao de recorrˆencia A resposta s´o vir´a mesmo com a demonstra¸c˜ao de que T(n) = n est´a correta Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 11 / 29
  • 51. M´etodo da Expans˜ao Exemplo E por que isso ´e uma indu¸c˜ao? Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 12 / 29
  • 52. M´etodo da Expans˜ao Exemplo E por que isso ´e uma indu¸c˜ao? Por conta dessa parte: T(n) = . . . = (. . . ((T(n − k) +1) + 1) + . . . + 1) + 1 k vezes = T(0) + k i=1 1 (ao fim da expans˜ao) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 12 / 29
  • 53. M´etodo da Expans˜ao Exemplo Considere o algoritmo de busca bin´aria: Entrada: arranjo arr, elemento x Se o arranjo tiver 1 elemento, compare com x Se x=arr[meio], meio ´e o ´ındice do elemento procurado Se x<arr[meio], repete a busca no subarranjo de 0 a meio-1 Sen~ao repete a busca no subarranjo de meio+1 ao fim de arr Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
  • 54. M´etodo da Expans˜ao Exemplo Considere o algoritmo de busca bin´aria: O que contaremos? Entrada: arranjo arr, elemento x Se o arranjo tiver 1 elemento, compare com x Se x=arr[meio], meio ´e o ´ındice do elemento procurado Se x<arr[meio], repete a busca no subarranjo de 0 a meio-1 Sen~ao repete a busca no subarranjo de meio+1 ao fim de arr Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
  • 55. M´etodo da Expans˜ao Exemplo Considere o algoritmo de busca bin´aria: O que contaremos? Compara¸c˜oes Entrada: arranjo arr, elemento x Se o arranjo tiver 1 elemento, compare com x Se x=arr[meio], meio ´e o ´ındice do elemento procurado Se x<arr[meio], repete a busca no subarranjo de 0 a meio-1 Sen~ao repete a busca no subarranjo de meio+1 ao fim de arr Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
  • 56. M´etodo da Expans˜ao Exemplo Considere o algoritmo de busca bin´aria: O que contaremos? Compara¸c˜oes Qual seria sua rela¸c˜ao de recorrˆencia? Entrada: arranjo arr, elemento x Se o arranjo tiver 1 elemento, compare com x Se x=arr[meio], meio ´e o ´ındice do elemento procurado Se x<arr[meio], repete a busca no subarranjo de 0 a meio-1 Sen~ao repete a busca no subarranjo de meio+1 ao fim de arr Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
  • 57. M´etodo da Expans˜ao Exemplo Considere o algoritmo de busca bin´aria: O que contaremos? Compara¸c˜oes Qual seria sua rela¸c˜ao de recorrˆencia? Base: Entrada: arranjo arr, elemento x Se o arranjo tiver 1 elemento, compare com x Se x=arr[meio], meio ´e o ´ındice do elemento procurado Se x<arr[meio], repete a busca no subarranjo de 0 a meio-1 Sen~ao repete a busca no subarranjo de meio+1 ao fim de arr Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
  • 58. M´etodo da Expans˜ao Exemplo Considere o algoritmo de busca bin´aria: O que contaremos? Compara¸c˜oes Qual seria sua rela¸c˜ao de recorrˆencia? Base: |arr| = 1, caso em que vemos se o elemento buscado ´e ou n˜ao o do arranjo Entrada: arranjo arr, elemento x Se o arranjo tiver 1 elemento, compare com x Se x=arr[meio], meio ´e o ´ındice do elemento procurado Se x<arr[meio], repete a busca no subarranjo de 0 a meio-1 Sen~ao repete a busca no subarranjo de meio+1 ao fim de arr Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
  • 59. M´etodo da Expans˜ao Exemplo Considere o algoritmo de busca bin´aria: O que contaremos? Compara¸c˜oes Qual seria sua rela¸c˜ao de recorrˆencia? Base: |arr| = 1, caso em que vemos se o elemento buscado ´e ou n˜ao o do arranjo → T(1) = 1 Entrada: arranjo arr, elemento x Se o arranjo tiver 1 elemento, compare com x Se x=arr[meio], meio ´e o ´ındice do elemento procurado Se x<arr[meio], repete a busca no subarranjo de 0 a meio-1 Sen~ao repete a busca no subarranjo de meio+1 ao fim de arr Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 13 / 29
  • 60. M´etodo da Expans˜ao Exemplo Recorrˆencia: T(n) = Entrada: arranjo arr, elemento x Se o arranjo tiver 1 elemento, compare com x Se x=arr[meio], meio ´e o ´ındice do elemento procurado Se x<arr[meio], repete a busca no subarranjo de 0 a meio-1 Sen~ao repete a busca no subarranjo de meio+1 ao fim de arr Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 14 / 29
  • 61. M´etodo da Expans˜ao Exemplo Recorrˆencia: Temos 1 compara¸c˜ao T(n) = 1 Entrada: arranjo arr, elemento x Se o arranjo tiver 1 elemento, compare com x Se x=arr[meio], meio ´e o ´ındice do elemento procurado Se x<arr[meio], repete a busca no subarranjo de 0 a meio-1 Sen~ao repete a busca no subarranjo de meio+1 ao fim de arr Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 14 / 29
  • 62. M´etodo da Expans˜ao Exemplo Recorrˆencia: Temos 1 compara¸c˜ao mais tantas quantas forem necess´arias na metade inferior T(n) = 1 Entrada: arranjo arr, elemento x Se o arranjo tiver 1 elemento, compare com x Se x=arr[meio], meio ´e o ´ındice do elemento procurado Se x<arr[meio], repete a busca no subarranjo de 0 a meio-1 Sen~ao repete a busca no subarranjo de meio+1 ao fim de arr Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 14 / 29
  • 63. M´etodo da Expans˜ao Exemplo Recorrˆencia: Temos 1 compara¸c˜ao mais tantas quantas forem necess´arias na metade inferior ou superior do arranjo T(n) = 1 Entrada: arranjo arr, elemento x Se o arranjo tiver 1 elemento, compare com x Se x=arr[meio], meio ´e o ´ındice do elemento procurado Se x<arr[meio], repete a busca no subarranjo de 0 a meio-1 Sen~ao repete a busca no subarranjo de meio+1 ao fim de arr Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 14 / 29
  • 64. M´etodo da Expans˜ao Exemplo Recorrˆencia: Temos 1 compara¸c˜ao mais tantas quantas forem necess´arias na metade inferior ou superior do arranjo T(n) = 1+T( n/2 ), onde n = |arr| Entrada: arranjo arr, elemento x Se o arranjo tiver 1 elemento, compare com x Se x=arr[meio], meio ´e o ´ındice do elemento procurado Se x<arr[meio], repete a busca no subarranjo de 0 a meio-1 Sen~ao repete a busca no subarranjo de meio+1 ao fim de arr Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 14 / 29
  • 65. M´etodo da Expans˜ao Exemplo E... T(n) = 1, se n = 1. T( n/2 ) + 1, para n ≥ 2 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 15 / 29
  • 66. M´etodo da Expans˜ao Exemplo E... T(n) = 1, se n = 1. T( n/2 ) + 1, para n ≥ 2 Em geral, podemos ignorar pisos ( x ) e tetos ( x ), por se tratar de uma conta aproximada Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 15 / 29
  • 67. M´etodo da Expans˜ao Exemplo E... T(n) = 1, se n = 1. T( n/2 ) + 1, para n ≥ 2 Em geral, podemos ignorar pisos ( x ) e tetos ( x ), por se tratar de uma conta aproximada Ent˜ao vamos expandir isso... Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 15 / 29
  • 68. M´etodo da Expans˜ao Exemplo T(n) = T(n 2) + 1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 16 / 29
  • 69. M´etodo da Expans˜ao Exemplo T(n) = T(n 2) + 1 = ((T(n 4) + 1) + 1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 16 / 29
  • 70. M´etodo da Expans˜ao Exemplo T(n) = T(n 2) + 1 = ((T(n 4) + 1) + 1 = (((T(n 8) + 1) + 1) + 1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 16 / 29
  • 71. M´etodo da Expans˜ao Exemplo T(n) = T(n 2) + 1 = ((T(n 4) + 1) + 1 = (((T(n 8) + 1) + 1) + 1 = . . . Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 16 / 29
  • 72. M´etodo da Expans˜ao Exemplo T(n) = T(n 2) + 1 = ((T(n 4) + 1) + 1 = (((T(n 8) + 1) + 1) + 1 = . . . = (. . . ((T( n 2k ) +1) + 1) + . . . + 1) + 1 k vezes Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 16 / 29
  • 73. M´etodo da Expans˜ao Exemplo T(n) = T(n 2) + 1 = ((T(n 4) + 1) + 1 = (((T(n 8) + 1) + 1) + 1 = . . . = (. . . ((T( n 2k ) +1) + 1) + . . . + 1) + 1 k vezes = T(1) + k i=1 1 (ao fim da expans˜ao) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 16 / 29
  • 74. M´etodo da Expans˜ao Exemplo = T(1) + k, quando T( n 2k ) = T(1) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 17 / 29
  • 75. M´etodo da Expans˜ao Exemplo = T(1) + k, quando T( n 2k ) = T(1) = T(1) + log2(n) (pois n 2k = 1) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 17 / 29
  • 76. M´etodo da Expans˜ao Exemplo = T(1) + k, quando T( n 2k ) = T(1) = T(1) + log2(n) (pois n 2k = 1) = 1 + log2(n) (pois T(1) = 1) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 17 / 29
  • 77. M´etodo da Expans˜ao Exemplo = T(1) + k, quando T( n 2k ) = T(1) = T(1) + log2(n) (pois n 2k = 1) = 1 + log2(n) (pois T(1) = 1) Ent˜ao T(n) = log2(n) + 1 compara¸c˜oes s˜ao necess´arias Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 17 / 29
  • 78. M´etodo da Expans˜ao Exemplo = T(1) + k, quando T( n 2k ) = T(1) = T(1) + log2(n) (pois n 2k = 1) = 1 + log2(n) (pois T(1) = 1) Ent˜ao T(n) = log2(n) + 1 compara¸c˜oes s˜ao necess´arias Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 17 / 29
  • 79. M´etodo da Expans˜ao Exemplo Mas isso, contudo, foi uma forma de indu¸c˜ao l´ogica (embora bem baseada), n˜ao dedu¸c˜ao Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 18 / 29
  • 80. M´etodo da Expans˜ao Exemplo Mas isso, contudo, foi uma forma de indu¸c˜ao l´ogica (embora bem baseada), n˜ao dedu¸c˜ao Para finalizar, temos ent˜ao que demonstrar dedutivamente (via indu¸c˜ao finita, por exemplo) que T(n) = log2(n) + 1 est´a correta Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 18 / 29
  • 81. M´etodo da Expans˜ao Exemplo Mas isso, contudo, foi uma forma de indu¸c˜ao l´ogica (embora bem baseada), n˜ao dedu¸c˜ao Para finalizar, temos ent˜ao que demonstrar dedutivamente (via indu¸c˜ao finita, por exemplo) que T(n) = log2(n) + 1 est´a correta Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 18 / 29
  • 82. M´etodo da Expans˜ao Exemplo Mas isso, contudo, foi uma forma de indu¸c˜ao l´ogica (embora bem baseada), n˜ao dedu¸c˜ao Para finalizar, temos ent˜ao que demonstrar dedutivamente (via indu¸c˜ao finita, por exemplo) que T(n) = log2(n) + 1 est´a correta Fica como exerc´ıcio... Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 18 / 29
  • 83. M´etodo da Expans˜ao ´Arvore de Recorrˆencia Embora a expans˜ao possa, em tese, resolver toda rela¸c˜ao de recorrˆencias, h´a casos em que fica mais dif´ıcil Ex: T(n) = 1, se n = 1. 2T(n/2) + n, para n ≥ 2 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 19 / 29
  • 84. M´etodo da Expans˜ao ´Arvore de Recorrˆencia Embora a expans˜ao possa, em tese, resolver toda rela¸c˜ao de recorrˆencias, h´a casos em que fica mais dif´ıcil Ex: T(n) = 1, se n = 1. 2T(n/2) + n, para n ≥ 2 Em casos assim, vale a pena construir a ´arvore de recorrˆencia Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 19 / 29
  • 85. M´etodo da Expans˜ao Construindo a ´Arvore de Recorrˆencia Cada n´o representa o custo de um sub-problema no conjunto de invoca¸c˜oes recursivas Somamos os custos em cada n´ıvel da ´arvore para obter um custo total do n´ıvel Este ´e o custo adicionado pelas chamadas recursivas naquele n´ıvel Somamos todos os custos por n´ıvel para determinar o custo total da recurs˜ao Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 20 / 29
  • 86. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = 2T(n/2) + n, T(1) = 1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
  • 87. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = 2T(n/2) + n, T(1) = 1 T(n) = n T(n 2) T(n 2) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
  • 88. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = 2T(n/2) + n, T(1) = 1 T(n) = n T(n 2) T(n 2) Custo adicionado no n´ıvel mais alto Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
  • 89. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = 2T(n/2) + n, T(1) = 1 T(n) = n T(n 2) T(n 2) Custo de cada uma das 2 cha- madas recursivas Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
  • 90. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = 2T(n/2) + n, T(1) = 1 T(n) = n n 2 n 2 Custo de cada uma das 2 cha- madas recursivas T(n 4) T(n 4) T(n 4) T(n 4) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
  • 91. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = 2T(n/2) + n, T(1) = 1 T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
  • 92. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = 2T(n/2) + n, T(1) = 1 T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) . . . Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
  • 93. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = 2T(n/2) + n, T(1) = 1 T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) . . . = n Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
  • 94. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = 2T(n/2) + n, T(1) = 1 T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) . . . = n = 2 × n 2 = n Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
  • 95. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = 2T(n/2) + n, T(1) = 1 T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) . . . = n = 2 × n 2 = n = 4 × n 4 = n Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
  • 96. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = 2T(n/2) + n, T(1) = 1 T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) . . . = n = 2 × n 2 = n = 4 × n 4 = n = 8 × n 8 = n Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
  • 97. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = 2T(n/2) + n, T(1) = 1 T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) . . . = n = 2 × n 2 = n = 4 × n 4 = n = 8 × n 8 = n . . . Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 21 / 29
  • 98. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) . . . = n = 2 × n 2 = n = 4 × n 4 = n = 8 × n 8 = n . . . Note que cada n´ıvel da recorrˆencia acrescenta n ao resultado final. Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 22 / 29
  • 99. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) . . . = n = 2 × n 2 = n = 4 × n 4 = n = 8 × n 8 = n . . . Note que cada n´ıvel da recorrˆencia acrescenta n ao resultado final. Mas, quantos n´ıveis h´a? Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 22 / 29
  • 100. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo Vejamos como a recorrˆencia reduz a cada n´ıvel: T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) ... ... . . . ... ... T(1) T(1) . . . T(1) T(1) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
  • 101. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo Vejamos como a recorrˆencia reduz a cada n´ıvel: T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) ... ... . . . ... ... T(1) T(1) . . . T(1) T(1) T( n 20 ) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
  • 102. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo Vejamos como a recorrˆencia reduz a cada n´ıvel: T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) ... ... . . . ... ... T(1) T(1) . . . T(1) T(1) T( n 20 ) T( n 21 ) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
  • 103. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo Vejamos como a recorrˆencia reduz a cada n´ıvel: T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) ... ... . . . ... ... T(1) T(1) . . . T(1) T(1) T( n 20 ) T( n 21 ) T( n 22 ) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
  • 104. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo Vejamos como a recorrˆencia reduz a cada n´ıvel: T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) ... ... . . . ... ... T(1) T(1) . . . T(1) T(1) T( n 20 ) T( n 21 ) T( n 22 ) T( n 23 ) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
  • 105. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo Vejamos como a recorrˆencia reduz a cada n´ıvel: T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) ... ... . . . ... ... T(1) T(1) . . . T(1) T(1) T( n 20 ) T( n 21 ) T( n 22 ) T( n 23 ) ... Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
  • 106. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo Vejamos como a recorrˆencia reduz a cada n´ıvel: T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) ... ... . . . ... ... T(1) T(1) . . . T(1) T(1) T( n 20 ) T( n 21 ) T( n 22 ) T( n 23 ) ... T( n 2k−1 ) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 23 / 29
  • 107. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) ... ... . . . ... ... T(1) T(1) . . . T(1) T(1) T( n 20 ) T( n 21 ) T( n 22 ) T( n 23 ) ... T( n 2k−1 ) Ou seja, temos k n´ıveis, sendo que, no k-´esimo n´ıvel, n 2k−1 = 1 ⇒ k = log2(n) + 1 Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 24 / 29
  • 108. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) ... ... . . . ... ... T(1) T(1) . . . T(1) T(1) T( n 20 ) T( n 21 ) T( n 22 ) T( n 23 ) ... T( n 2k−1 ) Com log2(n) + 1 n´ıveis, e n opera¸c˜oes por n´ıvel, temos um total de nlog2(n) + n opera¸c˜oes. Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 25 / 29
  • 109. M´etodo da Expans˜ao ´Arvore de Recorrˆencia – Exemplo T(n) = n n 2 n 2 n 4 n 4 n 4 n 4 T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) T(n 8) ... ... . . . ... ... T(1) T(1) . . . T(1) T(1) T( n 20 ) T( n 21 ) T( n 22 ) T( n 23 ) ... T( n 2k−1 ) Mais uma vez, temos que demonstrar via indu¸c˜ao que nossa resposta est´a correta. Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 25 / 29
  • 110. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao O m´etodo da expans˜ao ´e bastante ´util Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 26 / 29
  • 111. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao O m´etodo da expans˜ao ´e bastante ´util Muitas vezes, contudo, n˜ao ´e f´acil chegar a uma forma fechada para a rela¸c˜ao de recorrˆencia Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 26 / 29
  • 112. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao O m´etodo da expans˜ao ´e bastante ´util Muitas vezes, contudo, n˜ao ´e f´acil chegar a uma forma fechada para a rela¸c˜ao de recorrˆencia Que fazer? Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 26 / 29
  • 113. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao O m´etodo da expans˜ao ´e bastante ´util Muitas vezes, contudo, n˜ao ´e f´acil chegar a uma forma fechada para a rela¸c˜ao de recorrˆencia Que fazer? Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 26 / 29
  • 114. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao O m´etodo da expans˜ao ´e bastante ´util Muitas vezes, contudo, n˜ao ´e f´acil chegar a uma forma fechada para a rela¸c˜ao de recorrˆencia Que fazer? M´etodo da substitui¸c˜ao Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 26 / 29
  • 115. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao Consiste de 2 passos: Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 27 / 29
  • 116. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao Consiste de 2 passos: Pressupor a forma da solu¸c˜ao Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 27 / 29
  • 117. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao Consiste de 2 passos: Pressupor a forma da solu¸c˜ao Usar indu¸c˜ao finita para encontrar constantes e mostrar que a solu¸c˜ao funciona Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 27 / 29
  • 118. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao Consiste de 2 passos: Pressupor a forma da solu¸c˜ao Usar indu¸c˜ao finita para encontrar constantes e mostrar que a solu¸c˜ao funciona Aplic´avel quando podemos ver a forma da resposta Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 27 / 29
  • 119. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao Consiste de 2 passos: Pressupor a forma da solu¸c˜ao Usar indu¸c˜ao finita para encontrar constantes e mostrar que a solu¸c˜ao funciona Aplic´avel quando podemos ver a forma da resposta Como quando a recorrˆencia ´e muito parecida com outra que j´a foi vista Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 27 / 29
  • 120. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao Consiste de 2 passos: Pressupor a forma da solu¸c˜ao Usar indu¸c˜ao finita para encontrar constantes e mostrar que a solu¸c˜ao funciona Aplic´avel quando podemos ver a forma da resposta Como quando a recorrˆencia ´e muito parecida com outra que j´a foi vista Ainda assim, pode ser utilizado para estabelecer limites superiores e inferiores para uma recorrˆencia Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 27 / 29
  • 121. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao Uma vez que estamos supondo a solu¸c˜ao, podemos adicionar constantes a ela Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 28 / 29
  • 122. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao Uma vez que estamos supondo a solu¸c˜ao, podemos adicionar constantes a ela Ex: T(n) = c1nlog2(n) + c2n, em vez de T(n) = nlog2(n) + n, ou mesmo de T(n) = nlog2(n) Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 28 / 29
  • 123. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao Uma vez que estamos supondo a solu¸c˜ao, podemos adicionar constantes a ela Ex: T(n) = c1nlog2(n) + c2n, em vez de T(n) = nlog2(n) + n, ou mesmo de T(n) = nlog2(n) Essas constantes s˜ao ent˜ao definidas durante a prova Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 28 / 29
  • 124. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao Uma vez que estamos supondo a solu¸c˜ao, podemos adicionar constantes a ela Ex: T(n) = c1nlog2(n) + c2n, em vez de T(n) = nlog2(n) + n, ou mesmo de T(n) = nlog2(n) Essas constantes s˜ao ent˜ao definidas durante a prova Ou seja, definidas de modo a fazer com que a prova dˆe certo. Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 28 / 29
  • 125. Resolvendo Rela¸c˜oes de Recorrˆencia M´etodo da Substitui¸c˜ao Uma vez que estamos supondo a solu¸c˜ao, podemos adicionar constantes a ela Ex: T(n) = c1nlog2(n) + c2n, em vez de T(n) = nlog2(n) + n, ou mesmo de T(n) = nlog2(n) Essas constantes s˜ao ent˜ao definidas durante a prova Ou seja, definidas de modo a fazer com que a prova dˆe certo. Veremos mais sobre limites na pr´oxima aula... Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 28 / 29
  • 126. Referˆencias Ziviani, Nivio. Projeto de Algoritmos: com implementa¸c˜oes em Java e C++. Cengage. 2007. Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L., Stein, Clifford. Introduction to Algorithms. 2a ed. MIT Press, 2001. Gersting, Judith L. Fundamentos Matem´aticos para a Ciˆencia da Computa¸c˜ao. 3a ed. LTC. 1993. Norton Trevisan Romannorton@usp.br Aula 06 – Rela¸c˜oes de Recorrˆencia 30 de agosto de 2018 29 / 29