python对图进行深度优先搜索遍历
时间: 2023-06-06 18:04:58 浏览: 194
图的深度优先搜索遍历
Python具有内置的深度优先搜索算法,可以使用其递归实现。以下是一个简单的示例:
```
graph = {'A': set(['B', 'C']),
'B': set(['A', 'D', 'E']),
'C': set(['A', 'F']),
'D': set(['B']),
'E': set(['B', 'F']),
'F': set(['C', 'E'])
}
def dfs(graph, start, visited=None):
if visited is None:
visited = set()
visited.add(start)
print(start)
for next in graph[start] - visited:
dfs(graph, next, visited)
return visited
dfs(graph, 'A')
```
上面的代码实现了从顶点'A'开始的深度优先遍历。输出顺序为:A, B, D, E, F, C。
请注意,此代码仅适用于无权图。如果图具有权重,则需要使用Dijkstra或A *等算法。
阅读全文