我尝试实现一个简单的邻接矩阵,用于跟踪无向图中哪些节点连接到哪些节点。然而,我的邻接矩阵一直出错,改变整个列而不是单个单元格。以下是我的代码:
def setup_adj_matrix(size, edges):
# initialize matrix with zeros
adj_matrix = [[0] * size] * size
# edges is a list of tuples, representing 2 nodes connected by an edge
for edge in edges:
v1 = edge[0]
v2 = edge[1]
adj_matrix[v1][v2] = 1
adj_matrix[v2][v1] = 1
for row in adj_matrix:
print row
对于一个有3个节点(0,1,2)和边[(0,1),(0,2),(1,2)]的图形,我应该会得到
[[0,1,1],
[1,0,1],
[1,1,0]]
然而,我得到了全部为1的结果。有任何想法问题可能出在哪里?