图的矩阵表示及习题-答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
177
图的矩阵表示
图是用三重组定义的,可以用图形表示。此外,还可以用矩阵表示。使用矩阵表示图,有利于用代数的方法研究图的性质,也有利于使用计算机对图进行处理。矩阵是研究图的重要工具之一。本节主要讨论无向图和有向图的邻接矩阵、有向图的可达性矩阵、无向图的连通矩阵、无向图和有向图的完全关联矩阵。
定义9.4.1 设 G =
其中:
1j i v v v v a j i j i ij =⎩⎨⎧=无边或到有边到
i ,j =1,…,n
称A (G )为G 的邻接矩阵。简记为A 。
例如图9.22的邻接矩阵为:
⎪⎪
⎪
⎪
⎪
⎭
⎫
⎝
⎛=011110101101
1010)(G A
又如图9.23(a)的邻接矩阵为:
⎪⎪
⎪
⎪
⎪
⎭
⎫
⎝
⎛=0001101111000010)(G A
由定义和以上两个例子容易看出邻接矩阵具有以下性质:
①邻接矩阵的元素全是0或1。这样的矩阵叫布尔矩阵。邻接矩阵是布尔矩阵。 ②无向图的邻接矩阵是对称阵,有向图的邻接矩阵不一定是对称阵。
178
③邻接矩阵与结点在图中标定次序有关。例如图9.23(a)的邻接矩阵是A (G ),若将图9.23(a)中的接点v 1和v 2的标定次序调换,得到图9.23(b),图9.23(b)的邻接矩阵是A ′(G )。
⎪⎪
⎪
⎪
⎪
⎭
⎫
⎝
⎛='001010110001
1100)(G A
考察A (G )和A ′(G )发现,先将A (G )的第一行与第二行对调,再将第一列与第二列对调可
得到A ′(G )。称A ′(G )与A (G )是置换等价的。
一般地说,把n 阶方阵A 的某些行对调,再把相应的列做同样的对调,得到一个新的n 阶方阵A ′,则称A ′与A 是置换等价的。可以证明置换等价是n 阶布尔方阵集合上的等价关系。
虽然,对于同一个图,由于结点的标定次序不同,而得到不同的邻接矩阵,但是这些邻接矩阵是置换等价的。今后略去结点标定次序的任意性,取任意一个邻接矩阵表示该图。
④对有向图来说,邻接矩阵A (G )的第i 行1的个数是v i 的出度, 第j 列1的个数是v j
的入度。
⑤零图的邻接矩阵的元素全为零,叫做零矩阵。反过来,如果一个图的邻接矩阵是零矩阵,则此图一定是零图。
设G =
设A 2=AA ,A 2=(2
ij a )n ×n ,按照矩阵乘法的定义,
nj in j i j i ij a a a a a a a +++= 22112
若a ik a kj =1,则a ik =1且a kj =1,v i 到v k 有边且v k 到v j 有边,从而v i 到v j 通过v k 有一条长
度为2的路;若 kj ik a a =0,则a ik =0或a kj =0,v i 到v k 无边或v k 到v j 无边,因而v i 到v j 通过
v k 无长度为2的路,k =1,…,n 。故2
ij a 表示从v i 到v j 长度为2的路的条数。
设A 3=AA 2,A 3=(3
ij a ) n ×n ,按照矩阵乘法的定义, 22222113nj in j i j i ij a a a a a a a +++=
若2kj ik a a ≠0,则ik a =1且2kj a ≠0,v i 到v k 有边且v k 到v j 有路,由于2kj a 是v k 到v j 长度为2的路的条数,因而2kj ik a a 表示v i 到v j 通过v k 长度为3的路的条数;若2kj ik a a =0,
ik a =0或2kj a =0,
则v i 到v k 无边或v k 到v j 无长度为2的路,所以v i 到v j 通过v k 无路,k =1,…,n 。故3
ij a 表示从v i 到v j 长度为3的路的条数。
……
可以证明,这个结论对无向图也成立。因此有下列定理成立。
定理9.4.1 设A (G )是图G 的邻接矩阵,A (G )k =A (G )A (G )k-1,A (G )k 的第i 行,第j 列元素
k
ij a 等于从v i 到v j 长度为k 的路的条数。其中k ii a 为v i 到自身长度为k 的回路数。
推论 设G =
179
B k =(k ij b )n ×n ,则k ij b 是G 中由v i 到v j 长度小于等于k 的路的条数。∑∑==n i n
j k
ij b 11
是G 中长度小于
等于k 的路的总条数。∑=n
i k
ii b 1是G 中长度小于等于k 的回路数。
【例9.4】 设G =
解:邻接矩阵A 和A 2,A 3,A 4如下: ⎪⎪
⎪⎪⎪⎪⎭⎫ ⎝⎛=01000
1000000010
0010100010A ⎪⎪⎪⎪⎪⎪⎭⎫
⎝⎛=10000010000010100020001
012A ⎪⎪
⎪⎪⎪⎪⎭⎫ ⎝⎛=01
000
1000000020
00202000203A ⎪⎪⎪⎪⎪⎪⎭
⎫
⎝⎛=1000
0010000020200040002024A 312a =2,所以v 1到v 2长度为3的路有2条,它们分别是:v 1v 2v 1v 2和v 1v 2v 3v 2。 213a =1,所以v 1到v 3长度为2的路有1条:v 1v 2v 3。 322a =0,v 2到自身无长度为3的回路。 422a =4,v 2到自身有4条长度为4的回路,它们分别是:v 2v 1v 2v 1v 2、v 2v 3v 2v 3v 2、v 2v 3v 2v 1v 2
和v 2v 1v 2v 3v 2。
定义9.4.2 设G =
其中:p ij
=不可达
到可达到 j i j i
v v v v 0
1⎩⎨⎧
i ,j =1,…,n
称P (G )为G 的可达性矩阵。简记为P 。
在定义9.3.10中,规定了有向图的任何结点自己和自己可达。所以可达性矩阵P (G )的主对角线元素全为1。
设G =
先计算B n –1=A +A 2+…+A n –1,设B n –1=(1-n ij b )n ×n 。若1-n ij b ≠0,则令ij p =1,若1
-n ij b =0,则令p ij =0,i ,j =1,…,n 。