宽度优先在有向图中搜索

时间:2015-03-15 18:13:07

标签: c++ search graph depth-first-search breadth-first-search

在有向图上执行广度优先搜索时,我们从下图中的顶点1开始,是否会访问顶点0?

              >v4------>v5 
            /
v0------->v1
            \
             > v2-------v3

另外,如果我有BFS的概念,请你们跟我确认一下吗?因此,如果我们从v1开始,我们首先考虑所有未探测的路径(在这种情况下是从v1到v4,v1到v2,但不是v1到v0的路径,因为它不可能),然后我们访问顶点v4和v2,顺序无关紧要。然后,根据上次访问过哪个顶点,我们检查未探索的路径(如果我们在v4处,未探测的路径将从v4到v5,那么我们沿着那个路径行进然后访问v5)。之后,我们检查v2是否有未探测的路径,在本例中为v2到v3,并访问v3。现在v3没有任何其他未开发的路径,所以我们检查v5,它也没有任何未探测的路径。现在我们结束我们的BFS了吗?或者我们可以以某种方式访问​​v0?

另外,如果我们使用了DFS并从v1开始,那么我们最终会访问v0吗?如果使用了DFS,假设v2是v1,那么访问顶点的顺序是v1,v2,v3,v4,v5,还有v0?

1 个答案:

答案 0 :(得分:1)

您对BFS的理解似乎是正确的。 DFS也是正确的(直到顶点v5)。

如果你从v1开始,你都不会到达v0,因为你的图表中没有指向边缘进入v0。