当前位置: 首页 > 知识库问答 >
问题:

图DFS检测圈-(假定)反例

赵明亮
2023-03-14

因此DFS应该检测有向图中的圈。如果它到达了一个以前已经访问过的节点,即它找到了一个后沿,那么我们有一个循环。

共有1个答案

訾高飞
2023-03-14

这里的缺陷是,在DFS期间重新访问节点不一定会给出后边。它也可以给出一个十字边或前进边,这里就是这种情况。只有当您重新访问的节点已经开始被探索,但尚未处理其所有子节点时,才会出现后边。在本例中,由于E已经处理了它的所有子级,它第二次遇到的边不是后沿,因此不应该报告循环。

希望这能有所帮助!

 类似资料:
  • 我想在一个无向多图中列出所有的圈。 Tarjan的强连通分量算法是针对有向图编写的。它适用于多图吗?如果没有,有无向多图的圈列算法吗?

  • 请告诉我为什么这段代码不能分析无向图中是否有循环?代码如下。这是Spoj上的PT07Y问题。我正在做的是取一个节点并执行dfs。当执行dfs时,如果我访问同一个节点,那么我说有一个循环。从一个节点执行dfs后,我使访问的数组为假,并为下一个节点执行,直到我得到一个周期或所有节点都被访问。

  • 我试图在有向图中检测一个循环 在提出解决该问题的逻辑时,我发现一个简单的图遍历等式dfs就足够了,因为在执行dfs时,我们可以有一个条件来查看是否已经访问了任何节点。如果是这样,就必须有一个循环 在查找交叉检查逻辑的解决方案时,我遇到了这样一个解决方案,即在执行dfs的同时跟踪访问的节点,您还需要跟踪递归堆栈中的节点,如果一个节点已经在递归堆栈中,那么就有一个循环-我不理解 当我们可以简单地检查是

  • 请帮助我BFS和DFS的下图从顶点1开始,其中节点相邻的顶点通过增加顺序访问 这不是一道家庭作业题。

  • 问题内容: 尽管我在此站点上有许多有关音高检测概念的问题……他们都处理了我不熟悉的神奇 FFT 。我正在尝试构建需要实现音高检测的Android应用程序。我绝对不了解用于执行此操作的算法。 它不能 是 硬可以吗?毕竟,Android市场上大约有80亿个吉他调音器应用程序。 有人可以帮忙吗? 问题答案: 快速傅立叶变换将功能从时域更改为频域。因此,而不是在那里是信号,你是从麦克风获取和是信号的时间指

  • 算法: 图表: (1)-------(2) 邻接列表: [1] - [2] - 不相交集: {{1}, {2}} 迭代1: 边e=(1,2) 联盟(1,2) 不相交集={{1,2}} 迭代2: 边e=(2,1) 2和1都属于同一个集合,所以算法检测到一个循环,很明显图不包含循环。 对于有向图,该算法可以完美地工作。请帮我分析一下。