基本思想:将复杂问题简单化,大事化小,小事化了,很符合中国人的思想。

打官腔:分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。

2_2 递归与分治策略(分治法的基本思想)

 

 (图片源自百度)

上伪代码:

type divede-and-conquer(Problem p){
    if(|P|<N0) adhoc(p); //如果问题p的规模小于某个指定值N0时,对问题进行求解
    for(int i=0;i<k;i++){
        res[i]=divide-and-conquer(pi);   //将问题划分为k个小问题 p0,p2,...pk-1 并求解并存在res中   
    }     
    return merge(res[0],re[1]...res[k-1]);  //将res得到的结果进行合并
}

从分治法的伪代码可知,其设计出的程序一般是递归算法。后面会加入递归法的应用。

 

相关文章:

  • 2022-12-23
  • 2021-06-05
  • 2022-01-15
  • 2021-04-07
  • 2021-08-22
  • 2022-12-23
  • 2021-10-07
  • 2022-12-23
猜你喜欢
  • 2021-06-22
  • 2021-11-05
  • 2021-11-15
  • 2021-09-20
  • 2021-11-29
  • 2022-02-19
  • 2021-08-27
相关资源
相似解决方案