def transitive_closure(
g: Graph,
v: Vertex,
visited: Optional[Set[Vertex]] = None) -> Set[Vertex]:
"""
Returns a set containing all vertices reachable from v
"""
visited = visited or set()
visited.add(v)
for v_neigh in g.neighbors(v):
if v_neigh not in visited:
transitive_closure(g, v_neigh, visited)
return visited
评论列表
文章目录