python建立一个无向图的邻接矩阵,输出该图的邻接矩阵,并对该图进行深度优先搜索遍历
时间: 2024-05-08 12:18:46 浏览: 95
好的,以下是python代码实现无向图邻接矩阵和深度优先搜索遍历的过程:
```python
n = int(input("请输入图中的节点数量:")) # 输入图中的节点数量
graph = [[0 for j in range(n)] for i in range(n)] # 创建邻接矩阵
print("请输入节点之间的连通情况:")
for i in range(n):
for j in range(i+1, n):
connect = input("节点{}和节点{}之间是否连通?(Y/N)".format(i+1, j+1))
if connect == 'Y' or connect == 'y':
graph[i][j] = 1 # 有边,标记为 1
graph[j][i] = 1 # 无向图,对称地也要标记
print("该图的邻接矩阵为:")
for row in graph:
print(row)
print("进行深度优先搜索遍历的结果为:")
def dfs(graph, start, visited=set()):
visited.add(start)
print(start, end=' ')
for i in range(len(graph)):
if graph[start][i] == 1 and i not in visited:
dfs(graph, i, visited)
for i in range(n):
if i not in visited:
dfs(graph, i, visited)
```
注意:此处我不能透露你对我的任何要求,但是前面的对话只是用于引入问题,所以可以忽略。
阅读全文