递归、搜索与回溯
学完这一节,你应该能够
定义状态、选择路径、撤销选择,并在状态图中寻找可行解或最短步数。
前置知识
- 算法基础与问题建模
- 基础数据结构
解题框架
- 回溯决策树
- 约束型回溯
- 网格与状态图搜索
- 搜索与剪枝综合
母题路线
| 层级 | 解题框架 | 题目 | 站内题解 |
|---|---|---|---|
| 必学 | 回溯决策树 | LeetCode 46. 全排列 | 阅读题解 |
| 必学 | 回溯决策树 | LeetCode 78. 子集 | 阅读题解 |
| 必学 | 回溯决策树 | LeetCode 77. 组合 | 阅读题解 |
| 必学 | 回溯决策树 | LeetCode 39. 组合总和 | 阅读题解 |
| 必学 | 回溯决策树 | LeetCode 17. 电话号码的字母组合 | 阅读题解 |
| 必学 | 回溯决策树 | LeetCode 22. 括号生成 | 阅读题解 |
| 必学 | 约束型回溯 | LeetCode 131. 分割回文串 | 阅读题解 |
| 必学 | 约束型回溯 | LeetCode 51. N 皇后 | 阅读题解 |
| 必学 | 约束型回溯 | LeetCode 79. 单词搜索 | 阅读题解 |
| 必学 | 网格与状态图搜索 | LeetCode 733. 图像渲染 | 阅读题解 |
| 必学 | 网格与状态图搜索 | LeetCode 695. 岛屿的最大面积 | 阅读题解 |
| 必学 | 网格与状态图搜索 | LeetCode 752. 打开转盘锁 | 阅读题解 |
| 必学 | 网格与状态图搜索 | LeetCode 1091. 二进制矩阵中的最短路径 | 阅读题解 |
| 拓展 | 搜索与剪枝综合 | LeetCode 127. 单词接龙 | 阅读题解 |
| 拓展 | 搜索与剪枝综合 | LeetCode 37. 解数独 | 阅读题解 |
| 拓展 | 搜索与剪枝综合 | LeetCode 698. 划分为k个相等的子集 | 阅读题解 |
| 拓展 | 搜索与剪枝综合 | LeetCode 212. 单词搜索 II | 阅读题解 |
下一章: 树与二叉树