邻接矩阵和出度入度

图的邻接矩阵(Adjacency Matrix)存储方式是用两个数组来表示图。一个一维的数组存储图中顶点信息,一个二维数组(称为邻接矩阵)存储图中的边或弧的信息。

设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为:

我们来看一个实例,图7-4-2的左图就是一个无向图。

我们再来看一个有向图样例,如图7-4-3所示的左图。

在图的术语中,我们提到了网的概念,也就是每条边上都带有权的图叫做网。那些这些权值就需要保存下来。

设图G是网图,有n个顶点,则邻接矩阵是一个n*n的方阵,定义为:

如图7-4-4左图就是一个有向网图。

Python计算出度和入度

1
2
3
4
5
6
7
8
9
10
from numpy import *;
vertexes=mat([1,1,1,1]);
edges=mat([[0,0,0,1],[1,0,1,0],[1,1,0,0],[0,0,0,0]]);
print("入度")
input=vertexes * edges;
print(input)

print("\n出度")
output = edges * (vertexes.T)
print(output)

1
2
3
4
5
6
7
8
入度
[[2 1 1 1]]

出度
[[1]
[2]
[2]
[0]]

参考 https://blog.csdn.net/jnu_simba/article/details/8866705