图的深度遍历python
时间: 2023-10-12 21:11:58 浏览: 56
图的深度遍历
在图形的深度优先搜索中,我们访问每个顶点,从起点开始,尽可能深地探索图中的分支。我们沿着每个分支深入,直到我们到达最深处,然后回溯并访问其他分支。
在 Python 中,可以使用递归函数来实现图形的深度优先搜索。我们需要使用一个栈来保存当前遍历的所有顶点,并使用一个布尔数组来记录哪些顶点已经被访问过。
下面是一个简单的例子,展示了如何使用递归函数实现图形的深度优先搜索:
```
# 定义图形的邻接表表示法
graph = {
'A': ['B', 'C'],
'B': ['A', 'D', 'E'],
'C': ['A', 'F'],
'D': ['B'],
'E': ['B', 'F'],
'F': ['C', 'E']
}
# 定义深度优先搜索函数
def dfs(graph, start, visited):
# 将起点添加到已访问的顶点列表中
visited.add(start)
# 获取起点的所有邻接顶点
for neighbor in graph[start]:
# 如果邻接顶点没有被访问过,则递归调用深度优先搜索函数
if neighbor not in visited:
dfs(graph, neighbor, visited)
# 从 'A' 顶点开始深度优先搜索
visited = set()
dfs(graph, 'A', visited)
print(vis
阅读全文