分而治之算法概念 分而治之算法步骤和实例

发布:2022-10-25 10:21:57
阅读:1742
作者:网络整理
分享:复制链接

分而治之算法将一个问题分成更小的子问题,然后将这些子问题进一步递归求解。

分而治之算法步骤

1、使用递归将给定问题划分为子问题

2、递归解决较小的子问题,如果子问题足够小,则直接求解

3、组合子问题的解决方案以获得实际问题的答案

分而治之算法实例

给定数组,对该数组进行排序,如下图:

将数组分成两个子部分,如下图:

同样,将每个子部分递归划分,直到获得单个元素。如下图:

现在,以排序方式组合各个元素。此时就用到上述步骤2和步骤3,最后合并子部分并输出。如下图:

分而治之算法与动态规则算法的区别

分而治之算法每个子问题的结果不会被存储,而在动态规则算法中,每个子问题的结果会被存储以供参考。

当同一个子问题需要多次使用对比,则更适合使用动态规则算法,反之使用分而治之算法更加高效。

扫码进群
微信群
免费体验AI服务