v 友们!有没有简单易懂的回溯算法例子,让小弟学习一下。

2020 年 9 月 18 日
 xhf1024
3105 次点击
所在节点    Java
9 条回复
ChenFanlin
2020 年 9 月 18 日
Helix225
2020 年 9 月 18 日
探迷宫,数独生成
twllz
2020 年 9 月 18 日
LeetCode 《 77.组合》,链接: https://leetcode-cn.com/problems/combinations/
推荐这一个题解,链接: https://leetcode-cn.com/problems/combinations/solution/hui-su-suan-fa-jian-zhi-python-dai-ma-java-dai-ma-/

总之就是这样一种模式:
```
1. 执行某种操作;
2. 在这种操作的基础上继续操作;
3. 撤回 "1" 中的操作。
```
kanglo
2020 年 9 月 18 日
@ChenFanlin 这个 repo 真是太好了,我学算法刷题全靠这个
asanelder
2020 年 9 月 18 日
回溯就是 DFS 吧,可以看看俺写的文章
https://segmentfault.com/a/1190000024456834

由一个很简单的直观的例子讲 DFS
然后从 DFS 的角度来看待树的三种遍历
还举了一个使用 DFS 轻松解决 leetcode 题的问题
最后引申到访问者模式,你会发现两者的相似处

以上由浅入深,举例易懂,配以图片。

请慢慢细品
asanelder
2020 年 9 月 18 日
@ChenFanlin #1 啊看到这个博主关于树的三种遍历其本质是时间点的看法,这和俺的看法一样啊!

果然天才所见略同
CodeJr
2020 年 9 月 18 日
全排列,八皇后 老经典了
asanelder
2020 年 9 月 18 日
俺的是用 java 举的例子
一楼那个是 python

再给楼主提个醒,回溯解题的过程就是一个树的 DFS 过程,所以,首先你要能把一个题的解想像成一颗树(几叉无所谓)
araaaa
2020 年 9 月 18 日
8 皇后

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/708210

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX