一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1009|回复: 3
收起左侧

[算法题] 谁给介绍介绍backtracking?

[复制链接] |试试Instant~ |关注本帖
海拔2纳米 发表于 2014-10-23 13:39:24 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
一直对大家说的backtracking没有一个清晰的概念。请问能否推荐篇文章详细说明一下backtracking是怎么个用法?多谢啦
storm_hair 发表于 2014-10-23 14:11:09 | 显示全部楼层
DFS特殊情况 每次只有一个子状态入栈
回复 支持 反对

使用道具 举报

mayingjie116 发表于 2014-10-28 00:20:40 | 显示全部楼层
Backtracking和DFS很像。区别在于Backtracking用在general graph中, DFS只能用在tree里面,所以DFS是Backtracking的特殊情况。
可以参考Artificial Intelligence - A Modern Approach 3rd ed - S. Russell, P. Norvig.
回复 支持 反对

使用道具 举报

chopinsky 发表于 2014-10-28 06:34:19 | 显示全部楼层
本帖最后由 chopinsky 于 2014-10-28 06:40 编辑

一个很简单的例子:如何求解sudoku problem,使用recursive call的方法。 步骤就是先在一个空格挨个试探1-9,如果这个数可以放在这一格,则假设目前的表格变成初始状态,进入下一个空格,再挨个填入1-9。最后如果所有空格都填完了,发现都没有问题,那么结束;如果在某个空格发现填上1-9都违反规则,那么说明上面某层的数填的不对,于是回到上一层,从之前的数往后找,看看是不是后面的数还有符合规则的;如果有,拿目前的状态进入下一格,如果还是找到了9还没有符合规则的数,则再返回上一层。
youtube上有一个烙印的视频解决这个问题,用的是backtracking的方法,代码写出来比较简单,也很容易理解。如果不能翻墙就算了。。。。。。

Part 1: algorithm
https://www.youtube.com/watch?v=IX3qHsLGvq8

Part 2: dry code:
https://www.youtube.com/watch?v=P9_F7kuHU90

回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-5 11:01

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表