【发布时间】:2017-04-24 14:38:39
【问题描述】:
问题如下:
我们知道一个图可能有许多可能的 DFS 树,具体取决于起始顶点和 我们探索每个顶点的邻居的顺序。
给定一个连通图 G = (V, E),给定一棵有根树 T,使得这棵树的每条边都是 存在于 E 中。设计一个有效的算法来确定 T 是否是 G 的 DFS 树。
“树 T 不是 DFS 树”是什么意思(假设它跨越整个图)?
如果我在邻接表表示中没有任何树顶点排序(我假设问题本身就声称),我可以以任何方式遍历并创建问题中给出的树。
编辑:我想我开始了解“非 DFS 树 T”,它只是跨越但不可能在任何可能的 DFS 中创建的树,因为我们有一个限制,即必须访问所有孩子在返回父级之前首先在 DFS 树中。尽管如此,任何人都可以帮助使用高效的算法。
例如:
A -- B
/ \
C - D
这个图有一个树 T:
A -- B
/ \
C /
但这不是一个有效的 DFS 树!
DFS 从顶点 A 开始。
提前致谢!
【问题讨论】:
-
T 是深度优先搜索树 (DFS),这就是它的意思
-
你能告诉我这个问题
What is the meaning of "tree T is not a DFS Tree"的相关性,就像问题T is a DFS tree of G中所说的那样 -
如果我能弄清楚哪棵树不是我就能弄清楚哪棵树是。