回溯算法题型总结

1.回溯算法题型归纳

(1)回溯算法一般代码框架如下
回溯算法需要考虑三个方面:

  • 返回值类型
  • 终止条件
  • 单层逻辑

public void backtracking(参数) {
    if (终止条件) {
        存放结果;
        return;
    }

    for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {
        处理节点;
        backtracking(路径,选择列表); // 递归
        回溯,撤销处理结果
    }
}

(2)题型归类

根据回溯算法的应用,题型主要分为如下五大类:
在这里插入图片描述
核心思想:for循环横向遍历,递归纵向遍历,回溯不断调整结果集。

2.特殊题目(LeetCode对应题型)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


版权声明:本文为qq_42569028原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。