1.回溯算法题型归纳
(1)回溯算法一般代码框架如下
回溯算法需要考虑三个方面:
public void backtracking(参数) {
if (终止条件) {
存放结果;
return;
}
for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {
处理节点;
backtracking(路径,选择列表);
回溯,撤销处理结果
}
}
(2)题型归类
根据回溯算法的应用,题型主要分为如下五大类:
核心思想:for循环横向遍历,递归纵向遍历,回溯不断调整结果集。
2.特殊题目(LeetCode对应题型)