难以理解BFS代码

时间:2014-02-09 21:31:02

标签: python graph

def dfs(graph,start):
    path = []
    stack = [start]
    while stack != []:
        v = stack.pop()
        if v not in path:
            path.append(v)
        for w in reversed(graph[v]):
            if w not in path:
                stack.append(w)
    return path

以上节点是关于使用堆栈的BFS,任何人都可以帮我弄清楚

是什么
for w in reversed(graph[v]):

意思?我不太明白,谢谢。

1 个答案:

答案 0 :(得分:1)

w是v的所有边,这是我们要搜索的下一个顶点。 然后,在内部循环中,我们将那些尚未在路径中的w附加到堆栈中。