回溯算法,死抓三点
选择
在这里,每次最多两个选择,选左括号或右括号,“选择”会展开出一棵解的空间树。
用 DFS 遍历这棵树,找出所有的解,这个过程叫回溯。
约束条件
即,什么情况下可以选左括号,什么情况下可以选右括号。
利用约束做“剪枝”,即,去掉不会产生解的选项,即,剪去不会通往合法解的分支。
比如(),现在左右括号各剩一个,再选)就成了()),不能让这个错的选择成为选项(不落入递归):
目标
构建出一个用尽 n 对括号的合法括号串。
意味着,当构建的长度达到 2*n,就可以结束递归(不用继续选了)。
!回溯算法思路
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、回溯算法 1.1什么是回溯? 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当...
- 大厂算法面试之leetcode精讲11剪枝&回溯 视频讲解(高效学习):点击学习[https://xiaochen...
- 滑动窗口算法回溯算法框架回溯算法运用 1. 回溯算法框架 回溯算法,是类似枚举的搜索尝试过程,主要是在搜索尝试过程...
- 算法思想是解决问题的核心,万丈高楼起于平地,在算法中也是如此,95% 的算法都是基于这 6 种算法思想,结下了介绍...