采用邻接矩阵建立无向图 并基于邻接矩阵实现图的深度优先遍历
时间: 2023-11-21 09:49:40 浏览: 272
邻接矩阵储存无向图
首先,邻接矩阵是一种用于表示图的数据结构,它使用一个二维数组来表示节点之间的连接关系。对于无向图来说,邻接矩阵是对称的,即 matrix[i][j] 等于 matrix[j][i]。
下面是基于邻接矩阵实现图的深度优先遍历的代码:
```python
def dfs(graph, start, visited):
# 标记当前节点为已访问
visited[start] = True
print(start, end=" ")
# 遍历与当前节点相连的所有未访问节点
for i in range(len(graph[start])):
if graph[start][i] == 1 and not visited[i]:
dfs(graph, i, visited)
def dfsTraversal(graph):
# 获取图的节点数量
num_nodes = len(graph)
# 创建一个数组来标记节点是否被访问过
visited = [False] * num_nodes
# 从每个未访问过的节点开始进行深度优先遍历
for i in range(num_nodes):
if not visited[i]:
dfs(graph, i, visited)
```
对于一个无向图的邻接矩阵,可以调用 `dfsTraversal` 函数进行深度优先遍历。
现在是回答你的
阅读全文