Escolar Documentos
Profissional Documentos
Cultura Documentos
Rec Orr en CIA
Rec Orr en CIA
Relao de Recorrncia Relao de Recorrncia Derivando recorrncia Derivando recorrncia Resolvendo recorrncia Resolvendo recorrncia Anlise de algoritmos recursivos Anlise de algoritmos recursivos
Introduo
A anlise de um algoritmo recursivo requer a resoluo de A anlise de um algoritmo recursivo requer a resoluo de uma recorrncia. uma recorrncia. Uma recorrncia um algoritmo recursivo que calcula o valor Uma recorrncia um algoritmo recursivo que calcula o valor de uma funo em um ponto dado. de uma funo em um ponto dado. Uma recorrncia define T(n) em termos de T(n-1), T(n-2), etc. Uma recorrncia define T(n) em termos de T(n-1), T(n-2), etc. Exemplo: Exemplo: T(1) = 1 T(1) = 1 T(n) = T(n 1) + 3n + 2 ,, para n2 T(n) = T(n 1) + 3n + 2 para n2
Introduo
Exemplo 2: Quantos pedaos com n cortes? Exemplo 2: Quantos pedaos com n cortes?
Cortes: 1 Pedaos: 2
Introduo
Exemplo 2: Quantos pedaos com n cortes? Exemplo 2: Quantos pedaos com n cortes?
Introduo
Exemplo 2: Quantos pedaos com n cortes? Exemplo 2: Quantos pedaos com n cortes?
Cortes: 1 Pedaos: 2
Cortes: 2 Pedaos: 4
Cortes: 1 Pedaos: 2
Cortes: 2 Pedaos: 4
Cortes: 3 Pedaos: 7
Cortes: 4 Pedaos: 11
Introduo
possvel observar que o n-simo corte cria n novos pedaos. possvel observar que o n-simo corte cria n novos pedaos. Logo, o nmero total de pedaos obtido com n cortes, Logo, o nmero total de pedaos obtido com n cortes, denotado por P(n), dado pela seguinte relao de denotado por P(n), dado pela seguinte relao de recorrncia: recorrncia: P(1) = 2 P(1) = 2 P(n) = P(n 1) + n, para n2 P(n) = P(n 1) + n, para n2
n T(n/2) T(n/2)
T(n/4) T(n/4)
T(1)
n n/2 h = log n n/4 n/4 n/4 n/4 n/2 h = log n n/4 n/4 n/2
n 2.n/2= n 4.n/4= n
n 2.n/2= n 4.n/4= n
n folhas
n.1= n
n folhas
n.1= n
(log n).n
Jorge Figueiredo, DSC/UFCG Jorge Figueiredo, DSC/UFCG
Mtodo do Desdobramento
Esse mtodo o da rvore de recurso, representado de Esse mtodo o da rvore de recurso, representado de forma algbrica. forma algbrica. Consiste em: Consiste em: Usar (algumas poucas) substituies repetidamente at Usar (algumas poucas) substituies repetidamente at encontrar um padro. encontrar um padro. Escrever uma frmula em termos de n e o nmero de Escrever uma frmula em termos de n e o nmero de substituies i. substituies i. Escolher ii de tal forma que todas as referncias a T() Escolher de tal forma que todas as referncias a T() sejam referncias ao caso base. sejam referncias ao caso base. Resolver a frmula. Resolver a frmula.
Mtodo Master
Teorema que resolve quase todas as recorrncias. Teorema que resolve quase todas as recorrncias. T(n) da forma a.T(n/b) + f(n), a,b > 1 T(n) da forma a.T(n/b) + f(n), a,b > 1 Casos: Casos: ab1. Se f(n) O(nlog ab-), para algum > 0, temos que: 1. Se f(n) O(nlog ), para algum > 0, temos que: ab T(n) (nlog ab). T(n) (nlog ). logaab temos que: 2. Se f(n) O(n log b), temos que: 2. Se f(n) O(n ), ab T(n) (nlog ab.log n). T(n) (nlog .log n). ab 3. Se f(n) O(nlog ab++), para algum > 0 e se a.f(n/b)c.f(n) ), para algum > 0 e se a.f(n/b)c.f(n) 3. Se f(n) O(nlog para algum c > 0 e n suficientemente grande, temos que: para algum c > 0 e n suficientemente grande, temos que: T(n) (f(n)). T(n) (f(n)).