algorithm - 无向图的 DFS 树

标签 algorithm tree depth-first-search

所以我得到了什么是无向图的 DFS 树。 这是问题所在: enter image description here

现在我已经知道答案是(4,3)

但还有哪些未列出的边是不可能的?

(3,6) 会是有效边吗? (2,4) 或 (3,5) 呢

假设 DFS 树不同分支上的节点不能有边连接它们是否正确?

最佳答案

如原始问题中所述,图 G(V, E) 是无向的。考虑任何一对节点u, v\in V,这样一条边(u, v)\in E。现在让我们在 DFS(深度优先搜索)中遍历图:

  • 如果我们首先到达u,我们最终将访问所有从u 可达的节点,包括v,因此 v 将是 DFS 树中 u(或其子节点)的子节点;
  • 如果我们首先到达 v,情况类似,因为图是无向的。

因此,对于任何边 (u, v)\in E,DFS 树中都会有一条路径将 u 连接到 v。现在让我们看看您的案例:

1) (3,6) 会是有效边吗? (2,4) 或 (3,5) 呢?

  • (3, 6):不是有效边。如果有这样的边,3就是6的子节点;
  • (2, 4):不是有效边。如果有这样的边,2就是4的子节点;
  • (3, 5):不是有效边。如果有这样的边,3就是5的子节点。

2) 假设 DFS 树不同分支上的节点不能有边连接它们是否正确?

如果在无向图中有一条边连接两个节点uv,那么就会有一条路径e1 e2 ... en 在关联的 DFS 树中将 u 连接到 v(或将 v 连接到 u)。因此,如果 DFS 树中的两个节点位于不同的分支上,则它们之间没有边。

关于algorithm - 无向图的 DFS 树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27516596/

相关文章:

algorithm - 在包含数百万个节点的链表中查找循环

algorithm - 迭代树行走

algorithm - 如何找到树的任意两个顶点之间的边或顶点的数量?

OCAML 深度优先搜索

algorithm - 数量重新分配逻辑 - 具有外部数据集的 MapGroups

c - 当我们为 50n logn 计算 Big-Oh 时,它是 O(n log n)?我们可以把 O(n^5) 当作 Big-Oh 吗?

python - wxPython TreeCtrl 不显示根但仍显示箭头

algorithm - 如何遍历图中的一个循环?

algorithm - 如何输出无向图的所有双连通分量?

algorithm - 带log的算法运行时间分析