邻接矩阵

转载 2013年12月04日 22:31:07

邻接矩阵多用于有向图,但也适用于无向图。我们仅对无重边的有向图立论,其结论均可移植于简单无向图。

   

定义8.23  设G =<V,E,Ψ>为一无重边的有向图。其中V={v1,v2,…,vn},那么n´n矩阵A = [aij],

                              

称为图G的邻接矩阵(adjacency matrix),记为A[G]

    例8.18

    (1)零图的邻接矩阵为零矩阵。

    (2)一图的每个顶点以且仅以环为关联的边,那么该图的邻接矩阵为么矩阵。

    (3)无向图的邻接矩阵是对称矩阵。

    (4)图8.33(a)的邻接矩阵为图8.33(b)。

    邻接矩阵可推广到有平行边的多重图和赋权图上,只要令矩阵分量aij为vi到vj的边的重数或边上的权值W(vi,vj),而当vi,vj之间无边关联时,仍取aij=0。

邻接矩阵有多种用途。它除了自身反映图的一些性质,例如图各顶点是否有环(对角线元素是否为1),图的边是否成对出现(矩阵是否对称),图各顶点的出度和入度(矩阵的行和与列和)等等外,还能通过矩阵运算来探究图的更为深入的性质。


(a)

(b)
图8.33

    以下设A为图G的邻接矩阵,A = [aij],Aι为A的转置矩阵,○为矩阵乘运算符。我们知道,若A○B = C,A = [aij],B = [ bij],C = [ cij],那么

                 

我们还用Al表示l个矩阵A的乘积。

    (1)令Al = [ ],那么 的意义是:G中从顶点vi到vj的长度为l的拟路径恰为 条。

    在证明事实(1)之前,我们先用例8.18之(4)来验证这一结论。由计算得

                         

其中 = 4,而图8.33中v3到v1恰有四条长度为3的拟路径,它们是(v3 ,v1 ,v1 ,v1),(v3 ,v4 ,v1 ,v1),(v3 ,v2 ,v4 ,v1),(v3 ,v2 ,v3 ,v1)。

    现对l归纳证明事实(l)。

     l = 1时,Al = A = [ ] = [ ],命题显然真。

    设Al = [ ]中 对任意i,j均表示vi到vj的长度为l的拟路径条数。

    考虑Al+1=[ ]。由矩阵乘积定义知

                          (8-5)

其中 表示从vi到vk 条长度为l的拟路径。而

               

    表示从vi经由vk到vj的长度为l+1的拟路径数目,因而和式(8-5)表明 是从vi到vj的长度为l+1的拟路径的总条数。

    归纳完成,(1)得证。

    (2)令A○Aι = [ ],那么 的意义是:有 个顶点v,使得vi到v,vj到v都有边(两边交于v)。因而 表示顶点vi的出度。

    仍用例8.18之(4)验证之。计算

            

其中 = 2,而图8.33中正有两个顶点v1,v2,使得v3与v1到它们都有边; = 3,而顶点v3的出度恰为3。

    现证明事实(2).根据矩阵乘积的定义:

                   

它等价于

    有 个k的值使 =l,

    有 个k的值使 =l且 = l,

    有 个顶点vk使vi到vk有边且vj到vk也有边。

    这正是事实(2)所表明的。

    (3)令Aι ○A = [ ],那么 的意义是:有 个顶点v,使得v到vi, v到vj都有边;因而 表示顶点vi的入度。

    再用例8.18之(4)验证之。计算

             

其中 =0,而图8.33中确无到v3,v1均有边的顶点; = 2,而v4的入度正是2。

    事实(3)的证明留给读者。


邻接矩阵A和A的转置矩阵乘积表示的意义(有向图)

A:矩阵 AT:A的转置矩阵 A*AT 对角线上的表示 顶点vi的出度 AT*A 对角线上的表示 顶点vi的入度...
  • xiuye2015
  • xiuye2015
  • 2016年10月30日 21:27
  • 802

邻接矩阵

// 创建网 #include #define MaxInt 32767 #define MVNum 100 #define Status int #define OK 1 typedef ch...
  • Cai_Nia
  • Cai_Nia
  • 2016年11月01日 17:45
  • 1444

图的邻接矩阵实现

  • 2012年05月26日 00:33
  • 2KB
  • 下载

图的邻接矩阵

图的邻接矩阵
  • cckevincyh
  • cckevincyh
  • 2015年06月04日 13:14
  • 431

图的定义,存储结构是邻接矩阵(无向图,包含带权图)

//头文件 //Edge.h #ifndef EDGE_H #define EDGE_H #include using namespace std; template class Edge{ publ...
  • qq_28633157
  • qq_28633157
  • 2015年12月14日 18:47
  • 1355

图(2)—— 邻接矩阵表示法

图的存储结构 图的存储结构比较复杂,其复杂性主要表现在:  ◆ 任意顶点之间可能存在联系,无法以数据元素在存储区中的物理位置来表示元素之间的关系。  ◆ 图中顶点的度不一样,有的可能相差很大,若...
  • luoweifu
  • luoweifu
  • 2013年07月08日 13:02
  • 10409

无向带权图的邻接矩阵表示法

/*无向带权图的邻接矩阵表示法*/ #include #define vnum 20 typedef struct gp { int vexs[vnum]; /...
  • dwenxue
  • dwenxue
  • 2017年06月01日 09:59
  • 2064

邻接矩阵求最大连通分支(量)MATLAB函数

  • 2018年01月03日 16:57
  • 986B
  • 下载

python 邻接矩阵三种方法实现有向图、无向图,并绘图显示

  • 2017年11月12日 18:08
  • 2KB
  • 下载

Prim 算法构造最小生成树 邻接矩阵

  • 2012年12月11日 20:11
  • 5KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:邻接矩阵
举报原因:
原因补充:

(最多只允许输入30个字)