基尔霍夫矩阵-矩阵树定理
求一个图的生成树个数
一个图的生成树个数是其基尔霍夫矩阵任意主余子式的值。
基尔霍夫矩阵: - \(D_{ii}\): Degree(i) - \(D_{ij}\): i 到 j 的边数取负数
对于 n 阶矩阵,去掉任意的第 R 行 R 列,求剩下的 n-1 阶行列式的绝对值即最小生成树个数。
根据题目特点,可利用特殊数据推出行列式结果,数据范围允许时可按照行列式性质计算行列式。
例如一个图:
1 | 1---2 |
其基尔霍夫矩阵为:
1 | (1) (2) (3) (4) |
去掉第 4 行第 4 列为:
1 | (1) (2) (3) |
计算行列式得 8,所以这个图有 8 种生成树。
对有向图,还可以计算内向树与外向树,内向树指树上的边由子结点指向父节点,让 \(D_{ii}\) 表示入度即可。外向树反之。