10.3 图的表示(Representing Graph)和同构(Graph Isomorphism)
Representing Graph 图的表示
-
邻接表法(Adjacency list)
-
邻接矩阵法(Adjacency Marrices)
-
0表示 两端点间无边 1表示两端点间有边
注意:
n个顶点的图有n!个
邻接矩阵 当图中顶点较少时,矩阵为稀疏矩阵,可用特殊的方法表示和计算这样的矩阵
-
伪图或多重图的邻接矩阵
无向多重图和伪图都有对称的邻接矩阵
多重图——两点间有几条边,矩阵对应位置就填几
伪图——在多重图基础上,若有环,则矩阵对应位置填上1
-
有向图的邻接矩阵
a_{ij}=0 没有从 i 到 j 的边
a_{ij}=1 有从 i 到 j 的边
注意
对于无向图来说,邻接矩阵每一行(或列)上的数相加,为对应点的度
对于有向图来说,邻接矩阵每一行(列)上的数相加,为对应点的出度deg+(入度deg-)
关联矩阵
点和边的关系,列对应点,行对应边。点在边上为1,不在为0.
Isomorphism Of Graphs 图的同构
定义: 设G_1=(V_1,E_1)和G_2=(V_2,E_2) 是简单图,若存在一对一的和映上的从V_1到V_2的函数 f,且 f 具有这样的性质,对V_1中的a,b来说,a和b在G_1里邻接,当且仅当f(a)和f(b)在G_2里邻接。这样的函数f称为同构
当两个简单图同构时,两个图的顶点之间具有保持邻接关系的一一对应。
如何判断两个简单图是否同构?
在两个带n个顶点的简单图顶点集之间有 n!种可能的一一对应关系,通过验证每一种对应来看两个简单图是不可行的。但可以通过说明两个简单图不具有同构的图所必须具有的性质来说明他们不同构
这样的性质称为对简单图的同构来说的不变量
invariants 不变量
-
有相同的顶点数
-
有相同的边数
-
有相同的顶点度
-
如果一个图是二分图,另一个必须也是
-
如果一个图是完全图,另一个必须也是
-
如果一个图是轮图,另一个必须也是
etc.