3.1. Método general.
Normalmente para resolver los subproblemas se utilizan llamadas recursivas al mismo algoritmo (aunque no necesariamente).
Esquema recursivo (con división en 2 subproblemas):
divide_venceras (p, q: indice)
solucion = solucion_directa (p, q)
solucion = combinar (divide_venceras (p, m),
divide_venceras (m+1, q));
Para que pueda aplicarse la técnica divide y vencerás necesitamos:
- El problema original debe poder dividirse fácilmente en un conjunto de subproblemas, del mismo tipo que el problema original pero con una resolución más sencilla (menos costosa).
- Los subproblemas deben ser disjuntos: la solución de un subproblema debe obtenerse independientemente de los otros.