def dfs(g: Graph, current: Vertex, condition: Test,
visited: Set = None) -> Optional[Vertex]:
visited = visited or set()
if current in visited:
return None
visited.add(current)
if condition(current):
return current
for n in g.neighbors(current):
v = dfs(g, n, condition, visited)
if v is not None:
return v
return None
评论列表
文章目录