度矩阵 (D) 和邻接矩阵 (A) 是如何定义和构建的。

无向图的例子

假设我们有一个无向图 (G),包含4个顶点 (V={1,2,3,4}),以及以下边集 (E):

  • 顶点1与顶点2相连
  • 顶点1与顶点3相连
  • 顶点2与顶点4相连
  • 顶点3与顶点4相连
邻接矩阵 (A)

度矩阵和邻接矩阵_邻接矩阵

度矩阵和邻接矩阵_邻接矩阵_02

这里,矩阵的对角线元素都是0,因为一个顶点不会与自己相连;非对角线上的1表示两个顶点之间有边相连。

度矩阵 (D)

度矩阵和邻接矩阵_线性代数_03

度矩阵和邻接矩阵_线性代数_04

在这个例子中,每个顶点的度都是2,因为图中的每个顶点都有两条边相连。

有向图的例子

如果考虑一个有向图,邻接矩阵的构造方式相同,但不一定对称,因为有向边的存在不意味着反方向也有边。

假设有一个有向图,同样有4个顶点,边集为:

  • 顶点1指向顶点2
  • 顶点1指向顶点3
  • 顶点2指向顶点4
  • 顶点3指向顶点4
邻接矩阵 (A)

对于这个有向图,邻接矩阵 (A) 可能是:

度矩阵和邻接矩阵_邻接矩阵_05

注意,与无向图相比,这里的 (A) 不再是对称的,因为有向边的存在是单向的。

度矩阵 (D)

度矩阵依然记录每个顶点的度数,但在这里我们需要区分入度和出度。
通常的度矩阵关注的是顶点的总度数(出度+入度),但在有向图中,如果我们只考虑出度,度矩阵 (D) 将会是:.
这里注意,若有声明出度矩阵(入度矩阵),则按照要求即可。
下例表示出度
度矩阵和邻接矩阵_无向图_06

这里,顶点1有两条出边,顶点3、顶点2有一条出边,而顶点4没有出边。如果是计算入度矩阵,则相应的对角线元素会反映每个顶点的入边数量。