【发布时间】:2016-07-06 13:29:36
【问题描述】:
我正在为大学实施 DFS 和边缘分类(基于本文提供的代码:https://courses.csail.mit.edu/6.006/fall11/rec/rec14.pdf)。
斜体字母只是顶点的名称,而顶点内的数字分别是发现时间和完成时间。边缘分为向后、向前或交叉;其他都是树的边缘。
如您所见,此图按以下顺序访问:首先是 s,然后是其邻居(在 DFS 之后);当没有更多可访问的邻居时,访问开始于 t。
为了测试我们的算法,老师会提供一个以每条边为一行的文本文件。在执行 DFS 时,我只是按照每个顶点在文件中出现的顺序;在这种情况下,首先是 s,然后是 v,不是 t。这反过来又给出了不同的边缘分类:t 到 v 被认为是交叉边缘,t 到 u 后面一个,u 到 t 一棵树。
这种行为正常吗?探索的顺序会影响最终的边缘分类吗?如果是这样,我的分类和示例的分类都正确吗?如果没有,有什么方法可以知道首先探索哪个顶点?
【问题讨论】:
标签: algorithm graph depth-first-search