欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

分治法的递归算法模式

程序员文章站 2022-03-30 20:14:53
...
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;
}

要点

  • 一般化问题,使原始问题和子问题的描述统一。