:
- . , DFS - , , . , .
:
bimap edges
edges.putAll(graph.edges())
set vertices = graph.vertices()
list result
while !vertices.isEmpty()
list component
vertex a = vertices.removeAny()
dfsTraverse(a , v -> {
vertices.remove(v)
component.add(v)
})
result.add(component)