深度优先搜索遍历图
程序员文章站
2022-05-21 08:52:21
...
递归实现
public void dfs2(V begin) {
Vertex<V, E> beginVertex = vertices.get(begin);
if (beginVertex == null) return;
dfs2(beginVertex, new HashSet<>());
}
private void dfs2(Vertex<V, E> vertex, Set<Vertex<V, E>> visitedVertices) {
System.out.println(vertex.value);
visitedVertices.add(vertex);
for (Edge<V, E> edge : vertex.outEdges) {
if (visitedVertices.contains(edge.to)) continue;
dfs2(edge.to, visitedVertices);
}
}
上一篇: 深度优先搜索遍历无向图
下一篇: 实例讲解医疗站被K之后的恢复全过程