This commit is contained in:
youngyangyang04
2021-09-24 11:06:03 +08:00
parent decf8f545f
commit 3221a854ab
12 changed files with 49 additions and 85 deletions

View File

@@ -6,10 +6,15 @@
</p>
<p align="center"><strong>欢迎大家<a href="https://mp.weixin.qq.com/s/tqCxrMEU-ajQumL1i8im9A">参与本项目</a>,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!</strong></p>
# 回溯算法理论基础
> 可以配合我的B站视频[带你学透回溯算法(理论篇)](https://www.bilibili.com/video/BV1cy4y167mM/) 一起学习!
## 题目分类大纲如下:
# 什么是回溯法
<img src='https://img-blog.csdnimg.cn/20210219192050666.png' width=600 alt='回溯算法大纲'> </img></div>
可以配合我的B站视频[带你学透回溯算法(理论篇)](https://www.bilibili.com/video/BV1cy4y167mM/) 一起学习!
## 什么是回溯法
回溯法也可以叫做回溯搜索法,它是一种搜索的方式。
@@ -19,7 +24,7 @@
**所以以下讲解中,回溯函数也就是递归函数,指的都是一个函数**
# 回溯法的效率
## 回溯法的效率
回溯法的性能如何呢,这里要和大家说清楚了,**虽然回溯法很难,很不好理解,但是回溯法并不是什么高效的算法**。
@@ -31,7 +36,7 @@
此时大家应该好奇了,都什么问题,这么牛逼,只能暴力搜索。
# 回溯法解决的问题
## 回溯法解决的问题
回溯法,一般可以解决如下几种问题:
@@ -52,7 +57,7 @@
记住组合无序,排列有序,就可以了。
# 如何理解回溯法
## 如何理解回溯法
**回溯法解决的问题都可以抽象为树形结构**,是的,我指的是所有回溯法的问题都可以抽象为树形结构!
@@ -63,7 +68,7 @@
这块可能初学者还不太理解,后面的回溯算法解决的所有题目中,我都会强调这一点并画图举相应的例子,现在有一个印象就行。
# 回溯法模板
## 回溯法模板
这里给出Carl总结的回溯算法模板。
@@ -149,7 +154,7 @@ void backtracking(参数) {
如果从来没有学过回溯算法的录友们,看到这里会有点懵,后面开始讲解具体题目的时候就会好一些了,已经做过回溯法题目的录友,看到这里应该会感同身受了。
# 总结
## 总结
本篇我们讲解了,什么是回溯算法,知道了回溯和递归是相辅相成的。
@@ -163,17 +168,6 @@ void backtracking(参数) {
## 其他语言版本
Java
Python
Go