回溯法的三步走:(组合与子集)策略
发布时间
阅读量:
阅读量
理论
递归与回溯往往相互配合,递归过程中通常需要借助回溯进行处理。
回溯法属于一种基于穷举的搜索策略。
其适用范围涵盖:组合类问题、排列类问题、分割类问题、子集类问题以及棋盘布局类问题。
针对回溯法的应用,有时在条件发生变动时容易产生困惑。因此,关键在于探寻一种抽象层面的解决思路。
步骤
回溯法的运用具有较高的技巧性。通常情况下,我们旨在获取符合特定条件的多种情形的具体信息。然而,对于每道题目,都需要进行三个方面的分析。
0. 通过图形方式呈现回溯的全过程
1. 明确递归函数所涉及的参数及其返回值类型
2. 界定递归过程中的终止条件,以防止出现无限循环的情况
3. 确立每一层搜索过程中所执行的操作逻辑
void backtracking(参数)
{
if(终止条件)
收集结果
return;
for(遍历元素)
处理元素==》递归
回溯
}
例题
- 组合问题
以Leetcode_77 组合为例。
- 在进行组合构
全部评论 (0)
还没有任何评论哟~
