第 8 讲 · 图的矩阵表示
矩阵表示的意义,是把“沿边走”“能否到达”和“顶点与边是否关联”变成加法、乘法和布尔运算。
邻接矩阵记录一步连接
对顶点顺序 ,有向简单图的邻接矩阵 定义为:
第 行和是 的出度,第 列和是入度。无向简单图的 是对称矩阵,每行元素和就是对应顶点的度数。
顶点编号改变会改变矩阵行列顺序,却不改变图本身。若两图同构,它们的邻接矩阵只相差同一个顶点置换对行列的重排。
矩阵幂在数定长通路
等于从 到 、长度恰为 的通路数。原因可以从矩阵乘法看出:
每项先数 到 的 步走法,再检查是否有最后一条边 ;对所有可能的倒数第二个顶点 求和,就无重无漏地得到 步走法。
最小的使 的 就是两点距离。这里数的是允许重复的通路,不是基本路径数量。
可达性矩阵把“有几条”压成“有没有”
可达性矩阵 在 能到达 时取 1。令 把矩阵中非零元素变成 1,则:
若一条可达通路重复顶点,就可以删掉中间的圈,所以总能找到长度不超过 的基本通路;这解释了为什么不用继续加到无穷。
两个顶点位于同一强连通分支,当且仅当它们互相可达。因此逐元素乘积:
的第 行中,值为 1 的列恰好对应与 同属一个 SCC 的顶点。
关联矩阵把顶点和边分开放在两维
无向简单图有 个顶点、 条边时,关联矩阵是 矩阵;顶点 与边 关联时元素为 1。每一列恰有两个 1。
有向图可约定边的起点取 1、终点取 ,其他位置取 0,于是每列恰有一个 1 和一个 。邻接矩阵适合描述“顶点到顶点”,关联矩阵适合描述“顶点到边”,不要只因都含 0、1 就混用。
代数图论从特征值读结构
课件最后给出代数图论的入口:研究邻接矩阵的特征值与图结构之间的联系。例如无向二分图的非零特征值关于 0 成对出现。这里不要求把所有结论展开证明,重点是看到矩阵不只是存储格式,它还能让线性代数成为研究图的工具。