shjwudp

导航

 

问题:给定图,计算生成树数量

解决:Matrix-tree定理

对于图 G:

(1)G的度数矩阵D[G]是一个n*n的矩阵,并且满足:当i≠j时,dij=0;当i=j时,dij等于vi的度数;
(2)G的邻接矩阵A[G]是一个n*n的矩阵,并且满足:如果vi,vj之间有边直接dfawe相连,则aij=1,否则为0;
定义图G的Kirchhoff矩阵C[G]为C[G]=D[G]-A[G];
Matrix-Tree定理:G的所有不同的生成树的个数等于其Kirchhoff矩阵C[G]任何一个n-1阶主子式的行列式的绝对值;
所谓n-1阶主子式,就是对于r(1≤r≤n),将C[G]的第r行,第r列同时去掉后得到的新矩阵,用Cr[G]表示;

Kirchhoff矩阵的特殊性质:
(1)对于任何一个图G,它的Kirchhoff矩阵C的行列式总是0,这是因为C每行每列所有元素的和均为0;
(2)如果G是不连通的,则它的Kirchhoff矩阵C的任一个主子式的行列式均为0;
(3)如果G是一颗树,那么它的Kirchhoff矩阵C的任一个n-1阶主子式的行列式均为1;
——以上引用自jarily的博客

详细的介绍:周冬的论文

posted on 2015-04-15 19:54  shjwudp  阅读(1500)  评论(0编辑  收藏  举报