算法回顾 —— 贪心&DP&分治&回溯&分支限界

一、算法概述

1. 贪心算法

贪心算法的本质是贪心,即每走一步都是当前的局部最优解,然后一步一步直到得到优化解。(不一定得到最优解)

2. 分治算法

将原问题规约为 N(N≥2)个子问题,并递归分解,单独进行求解,并进行合并。时间复杂度为解决子问题的复杂度 + 合并的复杂度。

3. 动态规划

动态规划最重要的两个问题就是规划方程和边界条件。
在这里插入图片描述

4. 回溯算法

回溯算法其实可以认为是优化的蛮力法,我们可以把整个解空间认为成一棵树,无非是子集树或者排列树,此处不理解可参考博主之前的博客:https://blog.csdn.net/m0_51339444/article/details/124062406,然后根据约束条件和限界函数进行剪枝,减小搜索空间。
综上,回溯法 = 穷举 + 剪枝, 根据约束函数和限界函数进行剪枝

二、适用条件

1. 分治算法:

猜你喜欢

转载自blog.csdn.net/m0_51339444/article/details/124363975