我试图从下面的示例图中创建一个邻接矩阵,其中如果存在2个节点之间的边,则为真,但如果不存在,则为假。
代码如下:
for x in range(self.n_nodes):
matriu.append([])
for y in range(n_colors):
matriu[x].append(color)
在哪里自我。 n_nodes是一个列表[1,2,3,4,5],matriu是一个矩阵,color是一个以false初始化的布尔值,n_colors是颜色的数量(在这种情况下为5)。 此代码后的矩阵如下:
[[False, False, False, False, False],
[False, False, False, False, False],
[False, False, False, False, False],
[False, False, False, False, False],
[False, False, False, False, False]]
另外,我有一本包含下一个内容的字典:
{1: [4, 2, 5, 3], 2: [3, 1], 3: [4, 2, 1], 4: [3, 1, 5], 5: [4, 1]}
其中键是节点,值是具有边的节点的数组。
如何修改矩阵(行为节点,列为彩色),以使每个节点仅具有一种颜色,如果一个节点与另一个节点之间有一条边,则用另一种颜色对另一个节点进行着色。
目标是获得像这样的矩阵:
[[True, False, False, False, False],
[False, False, True, False, False],
[False, False, False, True, False],
[False, True, False, False, False],
[False, False, False, False, True]]