python dfs
时间: 2023-08-21 07:15:29 浏览: 101
Python实现的深度优先搜索的例子
深度优先搜索(DFS)是一种用于遍历或搜索图或树的算法。在Python中,可以通过递归或使用栈来实现DFS。
以下是使用递归实现DFS的示例代码:
```pythondef dfs(graph, start, visited=None):
if visited is None:
visited = set()
visited.add(start)
print(start)
for neighbor in graph[start]:
if neighbor not in visited:
dfs(graph, neighbor, visited)
# 示例图graph = {
'A': ['B', 'C'],
'B': ['A', 'D', 'E'],
'C': ['A', 'F'],
'D': ['B'],
'E': ['B', 'F'],
'F': ['C', 'E']
}
dfs(graph, 'A')
```
这段代码中,`dfs` 函数接受一个图和一个起始节点作为参数,并使用递归的方式进行DFS遍历。`visited` 参数是一个集合,用于记录已经访问过的节点。
在每次递归调用中,我们将当前节点添加到 `visited` 集合中,并打印该节点。然后,对于当前节点的每个邻居节点,如果邻居节点尚未被访问过,则递归调用 `dfs` 函数。
运行上述代码,将以深度优先的方式遍历示例图,并打印遍历的节点顺序为:A, B, D, E, F, C。
希望能帮助到你!如果有任何问题,请随时问我。
阅读全文