第五篇 分治思想(例子待加)

一: 思想

     有时候我们处理一个复杂的问题,可能此问题求解步骤非常杂,也可能是数据非常多,导致我们当时很难求出或者无法求出,古语有云:

步步为营,各个击破,这个思想在算法中称为分治思想,就是我们可以将该问题分解成若干个子问题,然后我们逐一解决子问题,最后将子问题

的答案组合成整个问题的答案。

 

二: 条件

     当然各个思想都有它的使用领域,所以玩这场分治游戏就要遵守它的游戏规则。

       ①   求解问题确实能够分解成若干个规模较小的子问题,并且这些子问题最后能够实现接近或者是O(1)时间求解。

       ②   各个子问题之间不能有依赖关系,并且这些子问题确实能够通过组合得到整个问题的解。

 

三:步骤

     通过上面对分治的说明,可以看到分治分三步走:

       ①  分解: 将问题分解成若干了小问题。

       ②  求解: O(1)的时间解决该子问题。

       ③  合并: 子问题逐一合并构成整个问题的解。

 

四:举例

posted @ 2014-08-30 20:22  mmcmmc  阅读(198)  评论(0编辑  收藏  举报