📜  门| GATE-CS-2000 |第 49 题

📅  最后修改于: 2021-09-24 05:47:16             🧑  作者: Mango

设 G 是一个无向图。考虑 G 的深度优先遍历,并让 T 为结果的深度优先搜索树。设 u 为 G 中的一个顶点,并设 v 为遍历中访问 u 后访问的第一个新的(未访问的)顶点。以下哪项陈述总是正确的?
(A) {u,v} 必须是 G 中的一条边,而 u 是 T 中 v 的后代
(B) {u,v} 必须是 G 中的一条边,并且 v 是 T 中 u 的后代
(C)如果 {u,v} 不是 G 中的边,那么 u 是 T 中的叶子
(D)如果 {u,v} 不是 G 中的边,则 u 和 v 在 T 中必须具有相同的父级答案: (C)
解释:

In DFS, if 'v' is visited
after 'u', then one of the following is true.
1) (u, v) is an edge.
     u
   /   \
  v     w
 /     / \
x     y   z

2) 'u' is a leaf node.
     w
   /   \
  x     v
 /     / \
u     y   z 

在 DFS 中,在访问一个节点后,我们首先对所有未访问的子节点进行递归。如果没有未访问的子项(u 是叶子),则控制返回到父项和父项,然后访问下一个未访问的子项。
这个问题的测验