首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >图中的后边

图中的后边
EN

Stack Overflow用户
提问于 2017-06-12 08:10:47
回答 5查看 19.2K关注 0票数 10

我很难理解Tarjan的发音点算法。我现在在这里学习本教程:https://www.hackerearth.com/practice/algorithms/graphs/articulation-points-and-bridges/tutorial/。在任何其他教程中,我真正看不到,也看不到的是,“后边缘”到底是什么意思。考虑到给出的图,我知道3-1和4-2是后边,但是2-1,3-2和4-3后边也是吗?谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-06-12 08:26:55

...a Back Edge是连接顶点和在其父节点之前发现的顶点的边缘。

从你的来源

可以这样想:当您在图上应用DFS时,您会修复算法所选择的一些路径。现在,在给定的情况下:0->1->2->3->4。正如本文所提到的,源图包含边4-23-1。当DFS达到3时,它可以选择1,但1已经在您的路径中,因此它是一个back edge,因此,正如源中所提到的,它是一个可能的替代路径。

回答你的第二个问题: 2-1,3-2和4-3背边也是吗?换一条不同的路。假设您的DFS选择0->1->3->2->4,那么2-14-3是后边。

票数 15
EN

Stack Overflow用户

发布于 2017-06-12 08:34:07

本质上,当您执行DFS时,如果图中有节点A、B和C之间的循环,并且发现了边A-B,那么稍后您就会发现边缘B-C,然后,由于您已经到达节点C,您将发现边缘C-A,但是在搜索过程中您需要忽略这条路径,以避免无限循环。所以,在你的搜索中,and和back不是后边,但是C是后边,因为这个边形成一个循环返回到一个已经访问过的节点。

票数 4
EN

Stack Overflow用户

发布于 2020-10-10 21:02:41

考虑使用DFS进行以下(有向)图遍历。在这里,节点的颜色表示以下内容:

  1. 花白的节点是尚未被访问的节点。
  2. 灰色节点是被访问的和堆栈上的节点。
  3. 黑色节点是从堆栈中弹出的节点。

注意,当节点13通过边缘13->0发现节点0时,节点0仍然在堆栈上。这里,13->0是一个后边,它表示一个循环的存在(三角形0->1->13)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44494426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档