回溯算法,死抓三点
选择
在这里,每次最多两个选择,选左括号或右括号,“选择”会展开出一棵解的空间树。
用 DFS 遍历这棵树,找出所有的解,这个过程叫回溯。
约束条件
即,什么情况下可以选左括号,什么情况下可以选右括号。
利用约束做“剪枝”,即,去掉不会产生解的选项,即,剪去不会通往合法解的分支。
比如(),现在左右括号各剩一个,再选)就成了()),不能让这个错的选择成为选项(不落入递归):
目标
构建出一个用尽 n 对括号的合法括号串。
意味着,当构建的长度达到 2*n,就可以结束递归(不用继续选了)。
!回溯算法思路
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 一、回溯算法 1.1什么是回溯? 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当...
- 大厂算法面试之leetcode精讲11剪枝&回溯 视频讲解(高效学习):点击学习[https://xiaochen...
- 滑动窗口算法回溯算法框架回溯算法运用 1. 回溯算法框架 回溯算法,是类似枚举的搜索尝试过程,主要是在搜索尝试过程...
- 算法思想是解决问题的核心,万丈高楼起于平地,在算法中也是如此,95% 的算法都是基于这 6 种算法思想,结下了介绍...