许多BFS/DFS的实现都默认图是连通的。
有没有一种方法可以显示这个顶点?
有的。如果在完成BFS之后仍然有未被访问的顶点,将它们入队。
Initialize visited array. Set all nodes to false
for node in list:
if not visited: dfs(node)
这里的dfs
是按照通常的方式实现的。当你在我们的列表{0,1,2,3}
上运行代码时,第一个dfs
调用将访问节点{0,1,2}
,并将标记为已访问的节点为0,1,2
。然后当我们遇到3
时,由于它没有被访问过,会有另一个dfs
调用。
希望你能理解。