Algorithm 这个图的函数是伪码

Algorithm 这个图的函数是伪码,algorithm,graph,pseudocode,depth-first-search,Algorithm,Graph,Pseudocode,Depth First Search,这些伪代码所做的就是找到一条路径,对吗?如果我没有错的话,回溯时它什么也不做?它只是探索图形(它不返回路径)-从起始顶点可以到达的所有东西都将被探索,并在访问的中设置相应的值(不仅仅是对应于其中一条路径的顶点) 它在回溯时移动到下一个边缘。。。而且它会在访问后执行 因此,如果我们在a,它与b、c和d,我们将从b开始,然后,当我们最终返回到a时,我们将转到c(如果它还没有被访问过的话),在第二次返回到a之后,我们将类似地转到d 如果你想知道的话,它叫。Wikipedia还提供了一个在树中探索顶点的

这些伪代码所做的就是找到一条路径,对吗?如果我没有错的话,回溯时它什么也不做?

它只是探索图形(它不返回路径)-从起始顶点可以到达的所有东西都将被探索,并在
访问的
中设置相应的值(不仅仅是对应于其中一条路径的顶点)

它在回溯时移动到下一个边缘。。。而且它会在访问后执行

因此,如果我们在
a
,它与
b
c
d
,我们将从
b
开始,然后,当我们最终返回到
a
时,我们将转到
c
(如果它还没有被访问过的话),在第二次返回到
a
之后,我们将类似地转到
d

如果你想知道的话,它叫。Wikipedia还提供了一个在树中探索顶点的顺序示例:(数字对应于访问顺序,我们从
1

在上面的例子中,你不仅仅是探索从左往下的顶点(
1
-
4
),而是在
4
之后,你回到
3
访问
5
,然后回到
2
访问
6
,依此类推,直到所有12个都被访问

关于
previsit
postvisit
-
previsit
将在我们第一次到达顶点时发生,
postvisit
将在我们探索它的所有子级(以及相应DFS树中的子级)之后发生。因此,在上面的示例中,对于
1
previsit
将在开始时发生,而post-visit将只在最后发生,因为所有顶点都是
1
的子节点或这些子节点的后代。订单内容如下:

前1、前2、前3、前4、后4、前5、后5、后3、前6、后6、后2


看起来像洪水泛滥,但问题是什么?@荒谬的头脑我不明白的是,它会从给定的节点v找到一条路径吗?与DFS不同?此算法不关心路径。它标记(或为其着色)所有可从
v
访问的节点。到达每个节点的路径可能是最短的,也可能不是最短的。这是一个荒谬的想法,你能在一个样本图上展示这个算法吗?假设G=6,v=6。然后按照你的算法去做。如果您看到行
已访问(v)=true
,请点击此节点。“返回a”可能会产生误导。还有previsit,所以顺序是:
preA,preB,postB,preC,postC,preD,postA
@荒谬的心灵真实。编辑以包含该信息。
procedure explore(G; v)
Input: G = (V;E) is a graph; v 2 V
Output: visited(u) is set to true for all nodes u reachable from v


visited(v) = true
previsit(v)
for each edge (v; u) 2 E:
if not visited(u): explore(u)
postvisit(v)