python建邻接矩阵
时间: 2023-07-03 10:31:55 浏览: 183
用Python将Excel网络关系(两列,id1,id2)转换为邻接矩阵
5星 · 资源好评率100%
在 Python 中,可以使用 numpy 库来创建邻接矩阵。以下是创建一个简单的无向图邻接矩阵的示例代码:
```python
import numpy as np
# 定义无向图的边
edges = [(0, 1), (0, 2), (1, 2), (2, 3)]
# 获取节点数
n = max(max(edges)) + 1
# 创建邻接矩阵
adj_matrix = np.zeros((n, n))
for edge in edges:
adj_matrix[edge[0], edge[1]] = 1
adj_matrix[edge[1], edge[0]] = 1
print(adj_matrix)
```
上述代码中,我们首先定义了无向图的边。然后,我们获取了节点数,也就是边中最大的节点编号加 1。接着,我们创建了一个 n 行 n 列的零矩阵,表示没有任何边相连。最后,我们遍历每条边,将矩阵中对应的元素设为 1,表示有一条边相连。由于是无向图,因此我们还需要将对称位置的元素设为 1,表示双向连接。
输出结果如下:
```
[[0. 1. 1. 0.]
[1. 0. 1. 0.]
[1. 1. 0. 1.]
[0. 0. 1. 0.]]
```
其中,第 i 行第 j 列的元素表示第 i 个节点和第 j 个节点是否相连。如果相连,值为 1,否则为 0。
阅读全文