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

如何检测有向图是否唯一连通?

洪增
2023-03-14

很明显,在图中不应该有任何交叉边或前向边。但是后缘呢?

共有1个答案

谢叶五
2023-03-14

如果每对节点之间恰好有一条定向路径,则

  • 每个节点必须至少有一个外部边缘(否则没有从该节点到其他节点的路径)
  • 节点不能有多个外边(如果有一个从X到Y的边和一个从X到Z的边,并且有从Y到T的路径和从Z到T的路径,则有多个从X到T的路径)

但是现在,由于每个节点都有一个外边,并且每个节点都可以从其他节点到达,所以图必须是一个单有向循环。

 类似资料:
  • 问题内容: 如何检查Oracle中所有字段是否唯一? 问题答案: 如果它们的出现次数大于一(即它们不是唯一的),这将返回所有myColumn值以及它们的出现次数。 如果此查询的结果为空,则此列中具有唯一值。

  • 另一个问题只回答了如何检测一个周期,而不是输出它。所以,我想在一个无向图上写一个算法,在O(V+E)时间内运行BFS或DFS(V=顶点,E=边),如果有循环,则输出循环。 到目前为止,我所知道的是BFS/DFS是如何工作的,如果访问已经标记为已访问的节点,可以使用BFS检测周期。

  • 我把《算法导论》第3版第22行22.3-13中单连通图的定义引用为。我注意到图中的圈并不一定意味着图不是单连通的,因为包含圈的路径不被认为是简单路径。有向图中的一个简单圈可以由相应的边集唯一地表示。让我们考虑一个满足以下两个性质的有向图: (1)它的DFS林中只有树边和后边,(2)图中表示每个简单圈的集合都是不相交的(即它们不共享任何边)。现在我的问题是:满足以上两个条件的有向图一定是单连通图吗?

  • 问题内容: 有没有办法检测是否已连接到控制台终端?例如,我希望能够检测foo.py是否通过以下方式运行: 要么 我问这个问题的原因是,我想确保进度条显示仅在前一种情况下发生(真实控制台)。 问题答案: if sys.stdout.isatty(): # You’re running in a real terminal else: # You’re being piped or redirecte

  • 我在这里读到一篇关于在有向图中求圈的讨论。现在,OP声称我们需要验证两件事: 从到有一个后沿 在递归堆栈中 为什么我们需要第二次测试?你能举个例子来说明它的必要性吗?