以邻接矩阵为储存结构的深度优先遍历算法
时间: 2023-11-18 12:27:47 浏览: 117
图的邻接矩阵存储结构算法-图的深度优先遍历
邻接矩阵是一种常用的图的存储结构。在邻接矩阵中,矩阵的行表示图中的节点,矩阵的列表示图中的边,矩阵中的元素表示相应的边的权重。邻接矩阵存储结构的深度优先遍历算法可以通过递归实现,具体步骤如下:
1. 访问起始节点,并将其标记为已访问。
2. 遍历起始节点的所有邻居节点,如果邻居节点未被访问,则递归遍历该邻居节点。
3. 重复步骤2,直到所有节点都被访问过。
代码实现如下:
```python
# 定义邻接矩阵
graph = [[0, 1, 1, 0],
[1, 0, 1, 1],
[1, 1, 0, 1],
[0, 1, 1, 0]]
# 定义访问数组
visited = [False] * len(graph)
# 定义深度优先遍历函数
def dfs(graph, visited, node):
visited[node] = True
print(node, end=' ')
for i in range(len(graph)):
if graph[node][i] == 1 and not visited[i]:
dfs(graph, visited, i)
# 调用深度优先遍历函数
dfs(graph, visited, 0)
```
输出结果为:0 1 2 3,表示深度优先遍历的顺序为节点0、节点1、节点2和节点3。
阅读全文