numpy 邻接矩阵变邻接表
时间: 2023-10-05 20:05:34 浏览: 199
要将一个numpy数组表示的邻接矩阵转换为邻接表,你可以使用Python中的字典数据结构来表示邻接表。下面是一个将邻接矩阵转换为邻接表的示例代码:
```python
import numpy as np
def adjacency_matrix_to_adjacency_list(adjacency_matrix):
adjacency_list = {}
num_nodes = adjacency_matrix.shape[0]
for i in range(num_nodes):
adjacency_list[i] = []
for j in range(num_nodes):
if adjacency_matrix[i][j] == 1:
adjacency_list[i].append(j)
return adjacency_list
# 示例输入邻接矩阵
adjacency_matrix = np.array([[0, 1, 0],
[1, 0, 1],
[0, 1, 0]])
# 将邻接矩阵转换为邻接表
adjacency_list = adjacency_matrix_to_adjacency_list(adjacency_matrix)
print(adjacency_list)
```
运行以上代码,将会输出如下结果:
```
{0: [1], 1: [0, 2], 2: [1]}
```
这个结果表示了一个有3个节点的图的邻接表表示。每个节点作为字典的键,对应的值是一个列表,表示与该节点直接相连的节点。在这个例子中,节点0与节点1相连,节点1与节点0和节点2相连,节点2与节点1相连。
希望这个示例对你有帮助!
阅读全文