Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Divisão e conquista
2 Exemplos
Vantagens:
Resolução de problemas difı́ceis;
Problemas:
Recursão ou pilha explı́cita;
Número de chamadas recursivas e/ou armazenadas na pilha pode ser
um inconveniente.
Repetição de subproblemas.
Quando usar?
Deve ser possı́vel decompor uma instância em sub-instâncias;
Divisao_e_conquista(x):
if (x é pequeno) return Resolve(x);
else
decompor x em n conjuntos menores: x1, x2,..., xn
para cada(i em [1...N])
yi = Divisao_e_conquista(xi);
combinar y0, y1, y2,..., yn em Y
retornar Y
n
T (n) = aT + f (n)
b
em que:
a: número de subproblemas gerados;
08 23 16 42 15 95 04 77
08 23 16 42 15 95 04 77
08 23 16 42 15 95 04 77
Min 08 Min 04
Max 42 Max 95
Min 04
Max 95
T (1) = 1
T (n) = 2T (n/2) + 2
A considerar:
Variáveis locais na recursividade;
1 4 8 3 6 5 2 7
1 4 8 3 6 5 2 7
1 4 8 3 6 5 2 7
1 4 8 3 6 5 2 7
1 4 3 8 5 6 2 7
1 3 4 8 2 5 6 7
1 2 3 4 5 6 7 8
a3 = a ∗ a ∗ a;
a3 = a ∗ a2 .
a3 = a ∗ a ∗ a;
a3 = a ∗ a2 .
expo(2,4) = ?
expo(2,4) = 2 * expo(2, 3)
expo(2,3) = 2 * expo(2, 2)
expo(2,2) = 2 * expo(2, 1)
expo(2,1) = 2
expo(2,4) = ?
16 expo(2,4) = 2 * expo(2, 3)
8 expo(2,3) = 2 * expo(2, 2)
4 expo(2,2) = 2 * expo(2, 1)
expo(2,1) = 2
if (n % 2 == 0) return p * p;
else return x * p * p;
}
expo(2,4) = ?
expo(2,4) → p = expo(2, 2)
expo(2,2) → p = expo(2, 1)
expo(2,1) = 2
expo(2,4) = ?
expo(2,1) = 2
23 95 8 4 15 77 16 42
Part i
Se não, avançar i.
23 95 8 4 15 77 16 42
Part i
23 95 8 4 15 77 16 42
Part i
23 95 8 4 15 77 16 42
Part i
23 95 8 4 15 77 16 42
Part i
23 95 8 4 15 77 16 42
Part i
23 8 95 4 15 77 16 42
Part i
23 8 95 4 15 77 16 42
Part i
23 8 95 4 15 77 16 42
Part i
23 8 95 4 15 77 16 42
Part i
23 8 4 95 15 77 16 42
Part i
23 8 4 95 15 77 16 42
Part i
23 8 4 95 15 77 16 42
Part i
23 8 4 95 15 77 16 42
Part i
23 8 4 15 95 77 16 42
Part i
23 8 4 15 95 77 16 42
Part i
23 8 4 15 95 77 16 42
Part i
23 8 4 15 95 77 16 42
Part i
23 8 4 15 95 77 16 42
Part i
23 8 4 15 16 77 95 42
Part i
23 8 4 15 16 77 95 42
Part i
23 8 4 15 16 77 95 42
Part i
23 8 4 15 16 77 95 42
Part i
23 8 4 15 16 42 95 77
Part i
23 8 4 15 16 42 95 77
Part
23 8 4 15 16 42 95 77
A conquista é imediata.
5 4 3 2 1
4 3 2 1 5
3 2 1 4 5
2 1 3 4 5
1 2 3 4 5
1 2 3 4 5