编写函数,求邻接矩阵存储结构的有向图g中各顶点的入度
时间: 2023-05-04 17:00:13 浏览: 190
有向图的邻接矩阵存储根计算.cpp
可以使用Python中的二维列表来存储矩阵结构。可以编写一个函数,接收矩阵维度和顶点入度列表,然后将其存储到二维列表中。例如:
def construct_matrix(n, in_degrees):
matrix = [[0 for _ in range(n)] for _ in range(n)]
for i in range(n):
for j in range(in_degrees[i]):
matrix[j][i] = 1
return matrix
其中,n代表矩阵维度,in_degrees表示每个顶点的入度。在函数中,首先创建一个n*n的二维列表matrix,并将其所有元素初始化为0。然后使用嵌套的循环遍历每个顶点,将其入度列表中的元素作为列数,将1赋值给相应的二维列表元素。
调用该函数可以得到一个矩阵结构。例如,对于邻接矩阵中各顶点的入度为[0, 1, 2, 1]的情况,可以如下调用:
matrix = construct_matrix(4, [0, 1, 2, 1])
得到的矩阵如下所示:
[[0, 0, 0, 0],
[1, 0, 0, 0],
[1, 1, 0, 0],
[0, 1, 0, 0]]
阅读全文