适合分治法策略的问题
(1) 能将n个数据分成k个不同的子集合,且得到的k个子集合是可以独立求解的子问题,其中k大于1小于等于k;
(2) 分解所得的子问题与原问题具有相似的结构,便于利用递归或循环机制;
(3) 在求出这些子问题的解后,就可以推解出原问题的解。
算法框架:
Divide_Conquer(n)
{
if (n<=n0)
{
解子问题;
return(子问题的解);
}
for (i=1;i<k;++i)
{
分解原问题为更小的子问题Pi;
yi=Divide_Conquer(|pi|);
}
//合并子问题
T=MERGE(y1,y2,…,yk);
return T;
}