分治法

一,分治法

  1.概念:把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。

  2.方法:将一个规模为N的问题,分解成K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。通过求解出子问题的解,合并得到原问题的解。

  3.表现形式:

    ①递归:一般分几部分,一是截止条件,也是分治法分解的最小问题,一般为if条件判断。二是递归部分,是与原问题解法相同的部分,与原问题的不同之处在于问题的规模(具体体现在参数的变化)此外还有其他部分,即不能通过递归解决的子问题。有些问题的求解最后还要合并才能得到原问题的解。

    ②循环:一般使用while循环,执行条件为递归的相反条件 。问题的分解体现在变量的重新赋值。

  4.复杂度计算:主定理

  5.常见错误分析:

    ①截止条件出错,一般体现为无法运行出结果,结果错误

    ②划分临界点出错,即划分点是否应该含于或者含于哪个子问题。一般体现为结果错误,部分通过

 

posted @ 2020-10-02 23:54  Clearwings  阅读(456)  评论(0)    收藏  举报