推荐:数据科学课程和书籍清单以及培训讲座


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 2678|回复: 16
收起左侧

[其他] 回溯法 = DFS吗?

[复制链接] |试试Instant~ |关注本帖
oio14644 发表于 2015-7-6 14:30:21 | 显示全部楼层 |阅读模式

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
回溯法 = DFS吗?
这两个是一个东西吗?
还是有区别?
dimi 发表于 2017-5-28 00:48:56 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
不是一回事
backtraking的代码你可以多看看 有一个诀窍 就是recursive call之后要退回到之前的一个状态。
回复 支持 3 反对 0

使用道具 举报

dalglish 发表于 2017-3-19 12:05:37 | 显示全部楼层
关注一亩三分地微博:
Warald
回溯法是DFS中的会用到的一个思想
回复 支持 1 反对 0

使用道具 举报

Kimurate 发表于 2015-7-6 14:35:46 | 显示全部楼层
回复 支持 反对

使用道具 举报

zxhdw99 发表于 2015-7-6 15:50:51 | 显示全部楼层
(转自百度)
回溯搜索是深度优先搜索(DFS)的一种
对于某一个搜索树来说(搜索树是起记录路径和状态判断的作用),回溯和DFS,其主要的区别是,回溯法在求解过程中不保留完整的树结构,而深度优先搜索则记下完整的搜索树。

为了减少存储空间,在深度优先搜索中,用标志的方法记录访问过的状态,这种处理方法使得深度优先搜索法与回溯法没什么区别了。
回复 支持 反对

使用道具 举报

readman 发表于 2015-7-7 02:42:29 | 显示全部楼层
zxhdw99 发表于 2015-7-6 15:50
(转自百度)
回溯搜索是深度优先搜索(DFS)的一种
对于某一个搜索树来说(搜索树是起记录路径和状态判断 ...

回溯搜索是深度优先搜索(DFS)的一种


这... 反了吧...backtracking是思想...dfs是实现
回复 支持 反对

使用道具 举报

aoe123 发表于 2017-1-14 08:56:10 | 显示全部楼层
本帖最后由 aoe123 于 2017-1-14 09:02 编辑

区别就是回溯=DFS+剪枝?
http://jcnavi.com/code/2016/12/27/backtracking/
回复 支持 反对

使用道具 举报

luofeidream 发表于 2017-1-14 10:22:19 | 显示全部楼层
aoe123 发表于 2017-1-14 08:56
区别就是回溯=DFS+剪枝?
http://jcnavi.com/code/2016/12/27/backtracking/

回溯不一定需要剪枝- -剪枝是回溯的优化技巧而已
回复 支持 反对

使用道具 举报

aoe123 发表于 2017-1-14 12:34:40 | 显示全部楼层
本帖最后由 aoe123 于 2017-1-14 13:15 编辑

哪里有权威解说?电话面试有问,找到了这里。
回复 支持 反对

使用道具 举报

aoe123 发表于 2017-1-15 01:55:16 | 显示全部楼层
比如什么大学的讲座里有没有讲解的地方?找了挺多各有各的说法
回复 支持 反对

使用道具 举报

peter_sqliu 发表于 2017-1-15 03:35:28 | 显示全部楼层
zxhdw99 发表于 2015-7-6 15:50
(转自百度)
回溯搜索是深度优先搜索(DFS)的一种
对于某一个搜索树来说(搜索树是起记录路径和状态判断 ...

这个是对的,backtracing只保留一个global state,正宗的dfs保留每个treenode的state
回复 支持 反对

使用道具 举报

aoe123 发表于 2017-1-15 06:28:31 | 显示全部楼层
本帖最后由 aoe123 于 2017-1-15 12:24 编辑

谢谢!1. "回溯法在求解过程中不保留完整的树结构,而深度优先搜索则记下完整的搜索树。"
    -> 这是说不保留的部分剪掉了的意思吗?

2. ”backtracing只保留一个global state,正宗的dfs保留每个treenode的state“
   -> 只保留一个globalstate是什么意思?
        能否举个具体例子来说明一下?


补充内容 (2017-1-16 09:50):
回复 支持 反对

使用道具 举报

aoe123 发表于 2017-1-18 14:04:08 | 显示全部楼层
求举例说明,谢谢。
回复 支持 反对

使用道具 举报

sy10017667 发表于 2017-3-19 04:07:07 | 显示全部楼层
我觉得有区别,dfs是搜索,是一种遍历的方法,回溯是一个不断试错的过程,不知道我理解的对不对。
回复 支持 反对

使用道具 举报

zlatanismygod 发表于 2017-5-26 07:34:42 | 显示全部楼层
同学你好,我是之前你私信问credit karma 面经的,我的等级太低发不了私信,你可以私信我微信号加一下吗
回复 支持 反对

使用道具 举报

matthew_z 发表于 2017-6-2 21:59:48 | 显示全部楼层
可以是也可以不是, 取决于怎么定义.

个人认为回溯是一种基本的思想. 而dfs 在大多数语境下是指图算法中的一种遍历方法, 为了和 bfs 区分开.
回复 支持 反对

使用道具 举报

ichliebeczh 发表于 2017-6-2 22:12:37 | 显示全部楼层
我们教授管backtracking 叫做implicit tree search
对于回溯法来说:
1. 在你的心中(草稿纸)上构造这个问题的(蕴含)的树结构。
2. DFS这个树结构。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-8-16 21:47

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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