数据结构无向图的dfs算法代码
时间: 2024-03-11 14:40:35 浏览: 28
以下是数据结构无向图的DFS算法代码示例:
```python
# 定义一个Graph类
class Graph:
# 初始化方法
def __init__(self, vertices):
self.V = vertices # 顶点数
self.graph = defaultdict(list) # 用字典表示图
# 添加边的方法
def add_edge(self, u, v):
self.graph[u].append(v)
self.graph[v].append(u)
# DFS遍历方法
def DFS(self, v, visited):
visited.add(v) # 将当前节点标记为已访问
print(v, end=' ')
# 递归访问邻接节点
for neighbour in self.graph[v]:
if neighbour not in visited:
self.DFS(neighbour, visited)
# DFS遍历入口方法
def DFS_traversal(self):
visited = set() # 初始化已访问节点集合
# 遍历所有未访问的节点
for vertex in list(self.graph):
if vertex not in visited:
self.DFS(vertex, visited)
```
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)