图的计算(1):图的矩阵表示

关联矩阵(incidence matrix)

    设G=(V,E)是一简单图(有向或无向),|V|=n,|E|=m 并且设V={ v1,v2,¼,vn} , E={ e1,e2,¼,em}已被强行命名。则 定义n´m阶矩阵B=(bij) n´m为图G的关联矩阵。

(1)若G是有向图,则

图的计算(1):图的矩阵表示_第1张图片

(2)若G是无向图,则

 

可达矩阵(reachable matrix)

    设G=(V,E)是一简单图(有向或无向),|V|=n 并且设V={ v1,v2,¼,vn}已被强行命名。则 定义n阶方阵

         R=(rij) n´n   其中

为图G的可达矩阵。

:(1)对于有向图

           从结点vi可达结点vjÛ从结点vi到结点vj至少有一条有向路

           从结点vi不可达结点vjÛ从结点vi到结点vj没有有向路

        (2)对于无向图

           从结点vi可达结点vjÛ从结点vi到结点vj至少有一条路

           从结点vi不可达结点vjÛ从结点vi到结点vj没有路。

 

邻接矩阵的布尔幂

    设G=(V,E)是一简单图(有向或无向), n阶方阵A是图G邻接矩阵。则 递归的定义邻接矩阵A的布尔幂

   (1)A(1)=A;

   (2)A(m+1)= A(m)ÙA;

其中:(1£i£n,1£j£n)

可达矩阵的计算方法一:Warshall算法(1962年)

No1.R:=A
    No2.k:=1
    No3.i:=1
    No4.for k:=1 step 1 until n do
                 rij := rij(rikrkj)
    No5.i:=i+1;if in then goto No4
    No6.k:=k+1;if kn then goto No3
    No7.if kn then exit
可达矩阵的计算方法二:矩阵幂算法

      可达矩阵   R=AÚ A(2) Ú A(3) Ú ¼Ú A(n)

·这里Ú是矩阵的布尔和运算。

         ·两个矩阵的布尔和运算就是其对应元素做二元布尔和运算。

你可能感兴趣的:(图论,抽象代数,几何学)