利用矩阵的n次方求图的连通性
来源:互联网 发布:淘宝店官网 编辑:程序博客网 时间:2024/05/29 18:24
设A(n x n)为一个图的邻接矩阵,则a(i,j)表示两个点之间是否连通(1:连通,0:不连通)。那么A的k次方中的每一个a(i,j)表示点i和j之间长度为k的路的条数。假设一个图能划分成若干个子图,每个子图之间不相连,那么A^1+A^2+...+A^n能表示该图的连通性。为0则不可能在一个子图,为非0则可以在一个子图。
如下图:
其邻接矩阵为:
0 1 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 1
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 1 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 1
0 0 0 0 1 0 0 0 1 0
A的平方为
1 0 1 0 0 0 0 0 0 0
0 2 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 1
0 0 0 0 2 0 0 0 1 0
0 0 0 0 0 1 0 1 0 0
0 0 0 0 0 0 2 0 0 0
0 0 0 0 0 1 0 1 0 0
0 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 0 0 2
可以看到,对角线元素部位零,其几何意义是1点到2点再回到1点
A^1+A^2+A^3+...+A^10=
31 31 31 0 0 0 0 0 0 0
31 62 31 0 0 0 0 0 0 0
31 31 31 0 0 0 0 0 0 0
0 0 0 55 55 0 0 0 33 88
0 0 0 55 143 0 0 0 88 88
0 0 0 0 0 31 31 31 0 0
0 0 0 0 0 31 62 31 0 0
0 0 0 0 0 31 31 31 0 0
0 0 0 33 88 0 0 0 55 55
0 0 0 88 88 0 0 0 55 143
就能很方便地求出子图了。为0的表示肯定不能连通。
- 利用矩阵的n次方求图的连通性
- 求矩阵的n次方 快速幂
- O(logN)时间复杂度内求整数的N次方以及矩阵的N次方
- 求n次方的算法
- 求a的N次方
- 求T的N次方
- 求X的N次方
- 求n的k次方
- 求x的n次方
- 求m的n次方
- 求n的n次方最后一位
- 求2011的N次方的后四位
- 求一个数的n次方 power
- c++ 求x的n次方
- 分治法求m的n次方
- 编写函数求x的n次方
- 求n的k次方 递归
- 求M的N次方最后三位
- ubuntu linux64 bashrc文件 环境配置
- 2D-FFT(二维快速傅里叶变换) 源码
- mongodb源码分析(十一)数据的删除
- Windows下WSH/JS实现SVN服务器钩子脚本阻止提交空日志信息和垃圾文件
- 升级android Sdk出现 SDK Manager failed to insatll错误
- 利用矩阵的n次方求图的连通性
- GCC的内嵌汇编语法
- 王牌流量爆刷器 流量提升工具 网站刷新 增加浏览量 王牌软件
- Lua基础 基本介绍
- SQL语法大全
- 二维数组基础
- C/C++ 误区四:char c = getchar();误区五:检查 new 的返回值
- Oracle exp/imp导出导入工具的使用
- :/*无输出*/ :"r"(ttb)