一、算法概述
1. 贪心算法
贪心算法的本质是贪心,即每走一步都是当前的局部最优解,然后一步一步直到得到优化解。(不一定得到最优解)
2. 分治算法
将原问题规约为 N(N≥2)个子问题,并递归分解,单独进行求解,并进行合并。时间复杂度为解决子问题的复杂度 + 合并的复杂度。
3. 动态规划
动态规划最重要的两个问题就是规划方程和边界条件。
4. 回溯算法
回溯算法其实可以认为是优化的蛮力法,我们可以把整个解空间认为成一棵树,无非是子集树或者排列树,此处不理解可参考博主之前的博客:https://blog.csdn.net/m0_51339444/article/details/124062406
,然后根据约束条件和限界函数进行剪枝,减小搜索空间。
综上,回溯法 = 穷举 + 剪枝, 根据约束函数和限界函数进行剪枝
。