泛洪算法的dfs代码
时间: 2024-08-17 07:01:08 浏览: 80
Java实现DFS算法
泛洪算法,也称为深度优先搜索(Depth-First Search,DFS),通常用于图的遍历,寻找最短路径或者连通分量等应用场景。以下是使用Python实现的一个简单DFS版本:
```python
def dfs(graph, start, visited=None):
if visited is None:
visited = set()
visited.add(start)
print(f"Visiting {start}")
for neighbor in graph[start]:
if neighbor not in visited:
dfs(graph, neighbor, visited)
# 示例:假设我们有一个简单的邻接列表表示的图
graph = {
'A': ['B', 'C'],
'B': ['D', 'E'],
'C': ['F'],
'D': [],
'E': ['F'],
'F': []
}
dfs(graph, 'A') # 从'A'开始遍历
```
在这个例子中,`graph`是一个字典,键代表节点,值是一列表示其邻居。`dfs`函数首先标记已访问的节点,然后递归地访问每个未访问过的邻居。
阅读全文