图的矩阵表示 北京大学计算机系离散数学讲义

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0
0
0
1
0 0 1 1
0
0
1
2
0 2 3 1
B2
0
0
1
1
0 0 1 2
0
0
2
3
2020/7/2
v4
v1 v2 v3 v4
v1 A(D) v2
0
0
2 0
1 1
0
0
v3 v4
0
0
0 0
0 1
1
1
1 1 1 1
P
0
1
1
1
0 0 1 1
0
0
1
1
v3
0 0 1 3
A3
0
0
1
0
0
《集合论与图论》第22讲
27
相邻矩阵与通路数
设Ar=Ar-1•A,(r2), Ar=[a(r)ij]nn, Br=A+A2+…+Ar= [b(r)ij]nn
定理5: a(r)ij=从vi到vj长度为r的通路总数 ni=1a(r)ii=长度为r的回路总数. #
推论1: a(2)ii=d(vi). # 推论2: G连通距离d(vi,vj)=min{r|a(r)ij0}.
26
无向图相邻矩阵(性质)
A(G)对称: aij=aji 每行(列)和为顶点度: ni=1aij=d(vj) 握手定理: ni=1nj=1aij=ni=1d(vj)=2m
v2
2020/7/2
v1 v2 v3 v4
v1 A(G ) v2
0
1
1 0
0 1
1
1
v3
v3 v4
0
1
1 1
0 0
相邻矩阵(adjacence matrix):
A(G)=[aij]nn, aii=0, 1, vi与vj相邻,ij
aij =
v1
v2
2020/7/2
v4
0, vi与vj不相邻
v1 v2 v3 v4
v1 A(G ) v2
0
1
1 0
0 1
1
1
v3
v3 v4
0
1
1 1
0 0
0
0
《集合论与图论》第22讲
《集合论与图论》第22讲
1
有向图关联矩阵(性质)
每列和为零: ni=1mij=0 每1的行个绝数对为值d和+(v为),d-1(v的): 个d(数vi)为=dm-j(=v1)mij, 其中
握手定理: ni=1mj=1mij=0 平行边: 相同两列
e1 e2 e3 e4 e5 e6
v1 M(D) v2
A(D)=[aij]nn, aij = 从vi到vj的边数
v1
v2
2020/7/2
v4
v1 v2
v1 A(D) v2
0 0
2 0
v3 v4
1 0
1
0
v3
v3 v4
0 0
0 0
0 1
1
1
《集合论与图论》第22讲
16
有向图邻接矩阵(性质)
每行和为出度: nj=1aij=d+(vi) 每列和为入度: ni=1aij=d-(vj) 握手定理: ni=1nj=1aij=ni=1d-(vj)=m 环个数: ni=1aii
13
求所有生成树(例,续)
v1
e3
v4
e1 e2
e4
e6
Mf (G) v2 v3 v4
v2
e5
v3
e1 e2 e3 e4 e5 e6
1 1 0 0 1 0
0 0 0 1 1 1
0 0 1 0 0 1
2020/7/2
《集合论与图论》第22讲
14
求所有生成树(例,续)
v1
e3
v4
1,2,3 0
e1 e2
1 2
S
连通, 矛盾! #
2020/7/2
《集合论与图论》第22讲
8
无向图基本关联矩阵
设G=<V,E>是无环无向图,V={v1,v2,…,vn}, E={e1,e2,…,em}
参考点: 任意1个顶点 基本关联矩阵(fundamental incidence
matrix): 从M(G)删除参考点对应的行, 记 作Mf(G)
2020/7/2
《集合论与图论》第22讲
10
基本关联矩阵与生成树
定理10.3: G连通, M’f是Mf(G)中任意n-1 列{ei组1,e成i2,的…方, e阵i(n-,1)M},’Tf中是各导列出对子应图的G边[{e集i1,是 ei2,…,ei(n-1)}], 则 T是G的生成树 M’f的行列式|M’f|0
2
3
0 0 3 4
A4
0
0
1
2
0 0 2 3
0
0
3
5
0 2 3 1
B2
0
0
1
1
0 0 1 2
0
0
2
3
2020/7/2
0 2 4 4
B3
0
0
2
2
0 0 2 4
0
0
4
6
0 2 7 8
B 4 0 0
3
4
0 0 4 7
0
0
7
11
《集合论与图论》第22讲
20
用邻接矩阵求通路数(例,续)
2020/7/2
《集合论与图论》第22讲
9
无向图基本关联矩阵的秩
定理10.2: G连通r(Mf(G))=n-1. # 推论1: G有p个连通分支r(Mf(G))=n-p,
其中Mf(G)是从M(G)的每个对角块中删除 任意1行而得到的. # 推论2: G连通r(M(G))=r(Mf(G))=n-1. #
《集合论与图论》第22讲
2,3,4 2,3,5 2,3,6 2,4,5 2,4,6 2,5,6 3,4,5 3,4,6 3,5,6 4,5,6
1 1 1 0 1 1 1 0 1 1
15
有向图邻接矩阵
设D=<V,E>是有向图,V={v1,v2,…,vn} 邻接矩阵(adjacence matrix):
v2到v4长度为3和4的通路数: 1, 2 v2到v4长度4的通路数: 4 v4到v4长度为4的回路数: 5 v4到v4长度4的回路数: 11
0 0 2 1
A2
0
0
0
1
0 0 1 1
0
0
1
2
0 2 3 1
B2
0
0
1
1
0 0 1 2
0
0
2
3
2020/7/2
0 0 1 3
A3
0
#
2020/7/2
《集合论与图论》第22讲
第22讲 图的矩阵表示
1. 关联矩阵M(D), M(G) 2. 用基本联矩阵Mf(G)求所有生成树 3. 邻接矩阵A(D), 相邻矩阵A(G) 4. 用A的幂求不同长度通路(回路)总数 5. 可达矩阵P(D), 连通矩阵P(G) 6. 单源最短路径问题, Dijkstra算法
2020/7/2
《集合论与图论》第22讲
18
定理4(证明)
证明: (归纳法) (1)r=1: a(1)ij=aij, 结论显然. (2) 设rk时结论成立, 当r=k+1时, a(k)it•a(1)tj=从vi到vj最后经过vt的长度为 k+1的通路总数, a(k+1)ij=nt=1a(k)it•a(1)tj=从vi到vj的长度为 k+1的通路总数. #
B 4 0 0
3
4
0 0 4 7
0
0
7
11
《集合论与图论》第22讲
22
可达矩阵
设D=<V,E>是有向图,V={v1,v2,…,vn}, 可达矩阵: P(D)=[pij]nn,
1, 从vi可达vj pij =
0, 从vi不可达vj
2020/7/2
《集合论与图论》第22讲
23
可达矩阵(性质)
非0的是生成树
2020/7/2
《集合论与图论》第22讲
12
求所有生成树(例)
v1
e3
v4
e1 e2
e4
e6
v1 M(G) v2
v3 v4
v2
e5
v3
e1 e2 e3 e4 e5 e6
1 1 1 1 0 0
1 1 0 0 1 0
0 0 0 1 1 1
0 0 1 0 0 1
2020/7/2
《集合论与图论》第22讲
1
百度文库0 0 1 2
0
0
2
3
0 0 3 4
A4
0
0
1
2
0 0 2 3
0
0
3
5
0 2 4 4
B3
0
0
2
2
0 0 2 4
0
0
4
6
0 2 7 8
B 4 0 0
3
4
0 0 4 7
0
0
7
11
《集合论与图论》第22讲
25
无向图相邻矩阵
设G=<V,E>是无向简单图,V={v1,v2,…,vn}
0 0 2 1
A2
0
0
0
1
0 0 1 1
0
0
1
2
0 2 3 1
B2
0
0
1
1
0 0 1 2
0
0
2
3
2020/7/2
0 0 1 3
A3
0
0
1
1
0 0 1 2
0
0
2
3
0 0 3 4
A4
0
0
1
2
0 0 2 3
0
0
3
5
0 2 4 4
B3
0
0
2
2
0 0 2 4
0
0
4
6
0 2 7 8
间C断的维数是n-1, 所以r(M(G))n-1.
(2) M(G)的前n-1行M1,M2,…,Mn-1线性无
关, 所以r(M(G))n-1. (反证)若前s行 线每性列相有关2个, M1或1全M是20…. Ms=01m, 则M
'
M
M
M
令V1={v1,v2,…,vs}, 则(V1,V1)=, 即G不
0
1
1
0 0 1 2
0
0
2
3
0 0 3 4
A4
0
0
1
2
0 0 2 3
0
0
3
5
0 2 4 4
B3
0
0
2
2
0 0 2 4
0
0
4
6
0 2 7 8
B 4 0 0
3
4
0 0 4 7
0
0
7
11
《集合论与图论》第22讲
21
用邻接矩阵求通路数(例,续)
长度=4的通路(不含回路)数: 16 长度4的通路和回路数: 53, 15
定理4: a(r)ij=从vi到vj长度为r的通路总数 ni=1nj=1a(r)ij=长度为r的通路总数 ni=1a(r)ii=长度为r的回路总数
推论: b(r)ij=从vi到vj长度r的通路总数 ni=1nj=1b(r)ij=长度r的通路总数 ni=1b(r)ii=长度r的回路总数. #
2020/7/2
e4
e6
1,2,4 0 1,2,5 0
v2
e5
v3
Mf (G)v2 v3 v4
e1 e2 e3 e4 e5 e6
1 1 0 0 1 0
0 0 0 1 1 1
0 0 1 0 0 1
1,2,6 0 1,3,4 1 1,3,5 1 1,3,6 1 1,4,5 0 1,4,6 1
2020/7/2
1,5,6 1
主对角线元素都是1: viV, 从vi可达vi 强连通图: 所有元素都是1 伪对角阵: 对角块是连通分支的可达矩阵
ij, pij=1 b(n-1)ij > 0
P(D1)
P(D)
P(D2)
P(Dk )
2020/7/2
《集合论与图论》第22讲
24
可达矩阵(例)
v1
v2
0 0 2 1
A2
无向图关联矩阵(性质)
每列和为2: ni=1mij=2 ( ni=1mj=1mij=2m ) 每行和为d(v): d(vi)=mj=1mij 每行所有1对应的边构成断集: [{vi}, {vi}] 平行边: 相同两列
伪对角阵: 对角块是连通分支
v1 M(G) v2
v3 v4
2020/7/2
1
1
1 1
1 0
0 1
0 0
0
0
2020/7/2
v3 v4
0 0 1 1
0
0
0
0
《集合论与图论》第22讲
1 1
1
1
4
无向图关联矩阵
设G=<V,E>是无环无向图,V={v1,v2,…,vn}, E={e1,e2,…,em}
关联矩阵(incidence matrix): M(G)=[mij]nm, 1, vi与ej关联 mij = 0, vi不与ej关联
证明r(M: fM(Tf()T)=)=nM-1’f, Tr(是MG’f)的=n生-1成树M’f 满T秩连 通 |M’f|0. #
说明: 上述运算是在F={0,1}上进行的
2020/7/2
《集合论与图论》第22讲
11
用关联矩阵求所有生成树
忽略环, 求关联矩阵 任选参考点, 求基本关联矩阵 求所有n-1阶子方阵,计算行列式,行列式
k
1
2020/7/2
《集合论与图论》第22讲
19
用邻接矩阵求通路数(例)
v1
v4
v1 v2
v1 A(D) v2
0 0
2 0
v3 v4
1 0
1
0
v2
v3
v3 v4
0 0
0 0
0 1
1
1
0 0 2 1
A2
0
0
0
1
0 0 1 1
0
0
1
2
0 0 1 3
A3
0
0
1
1
0 0 1 2
0
0
v1
v2
2020/7/2
v4
v1 v2
v1 A(D) v2
0 0
2 0
v3 v4
1 0
1
0
v3
v3 v4
0 0
0 0
0 1
1
1
《集合论与图论》第22讲
17
邻接矩阵与通路数
设A(D)=A=[aij]nn, Ar=Ar-1•A,(r2), Ar=[a(r)ij]nn, Br=A+A2+…+Ar= [b(r)ij]nn
e1 e2 e3 e4 e5 e6
1 1 1 1 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 1
M(G1)
M(G)
M(G2)
M(Gk)
《集合论与图论》第22讲
7
无向图关联矩阵的秩
定理10.1: G连通r(M(G))=n-1 (F={0,1})
证明: (1) M(G)每行对应1个断集, 断集空
2020/7/2
《集合论与图论》第22讲
5
无向图关联矩阵(例)
v1
e3
v4
e1 e2
e4
e6
v1 M(G) v2
v3 v4
v2
e5
v3
e1 e2 e3 e4 e5 e6
1 1 1 1 0 0
1 1 0 0 1 0
0 0 0 1 1 1
0 0 1 0 0 1
2020/7/2
《集合论与图论》第22讲
6
相关文档
最新文档