T DivideAndConquer(P)
{
if(P可以直接解决)
{
T <- P的结果;
return T;
}
将P分解为子问题{P1, P2, ..., Pn};
for_each(Pi : {P1, P2, ..., Pn})
{
ti <- DivideAndConquer(Pi);//递归解决子问题Pi
}
T <- Merge(t1, t2, ..., tn);//合并子问题的解
return T;
}
要点
- 一般化问题,使原始问题和子问题的描述统一。