1 / 175

第 10 章 图

第 10 章 图. 10.1 图的基本概念. 10.2 路、回路与连通性. 10.3 图的矩阵表示. 10.4 欧拉图与哈密顿图. 10.5 二部图与匹配. 10.6 平面图. 10.7 树及其应用. 10.8 着色问题. 10.9 最短路径与关键路径. 10.1 图的基本概念. 10.1.1 图. 10.1.2 子图与补图. 10.1.3 结点的度. 10.1.4 图的同构. 10.1.1 图.

rayya
Download Presentation

第 10 章 图

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第10章 图

  2. 10.1图的基本概念 10.2 路、回路与连通性 10.3 图的矩阵表示 10.4 欧拉图与哈密顿图 10.5 二部图与匹配 10.6 平面图 10.7 树及其应用 10.8 着色问题 10.9 最短路径与关键路径

  3. 10.1图的基本概念 10.1.1 图 10.1.2 子图与补图 10.1.3 结点的度 10.1.4 图的同构

  4. 10.1.1 图 定义10.1 一个图G定义为一个有序对<V,E>,记为G=<V,E>。其中V为非空有限集,其元素称为结点或顶点,E也是有限集,其元素称为边。对E中的每个边都有V中的两个结点与之对应,其结点对可以有序也可无序。 若边e与无序结点对[u,v]对应,称e为无向边,简称边,记为e=[u,v],u、v称为边e的端点,也称u和v为邻接点,边e关联u与v。关联同一结点的两条边称为邻接边。连接一结点与它自身的边称为环或自回路。两个端点都相同的边称为平行边。

  5. 若边e与有序结点对<u,v>对应,称e为有向边或弧,记为e=<u,v>,u称为弧e的始点,v称为弧e的终点,也称u邻接到v,v邻接于u。若e和e有相同的始点,称e和e相邻。始点和终点都相同的弧称为平行弧。若边e与有序结点对<u,v>对应,称e为有向边或弧,记为e=<u,v>,u称为弧e的始点,v称为弧e的终点,也称u邻接到v,v邻接于u。若e和e有相同的始点,称e和e相邻。始点和终点都相同的弧称为平行弧。 在图中不与任何结点相邻接的结点称为孤立结点。 每条边都是无向边的图称为无向图。每条边都是有向边的图称为有向图。既有有向边也有无向边的图称为混合图。将有向图各有向边去掉方向后的无向图称为原来图的基图。

  6. 例1 图10-1所示的两个图分别为无向图和有向图。在图(a)中,e7是环,e1、e2与e3是邻接边。在图(b)中,v2v1与v2v3是邻接边,但v2v3和v3v2不是邻接边,v5为孤立结点。

  7. 定义10.2(1)含有平行边(或弧)的图称为多重图。不含平行边(或弧)和环的图称为简单图。定义10.2(1)含有平行边(或弧)的图称为多重图。不含平行边(或弧)和环的图称为简单图。 (2)具有n个结点和m条边的图称为(n,m)图,也称n阶图。一个(n,0)图称为零图,(1,0)图称为平凡图。 (3)任两结点之间都有边(或弧)的简单图称为完全图。n个结点的无向完全图记为Kn。若n阶有向简单图的基图为Kn,称其为n阶竞赛图。 (4)在一个n边形内放置一个结点,使之与n边形的各结点有边,这样得到的简单图称为轮图,记为Wn。

  8. 例2在图10-2中,图(a)是简单图且为完全图,但图(b)是多重图,因为e4和e5是平行弧。例2在图10-2中,图(a)是简单图且为完全图,但图(b)是多重图,因为e4和e5是平行弧。

  9. 定理10.1 完全图Kn的边数为Cn2。 证明 因为在完全图Kn中任意两结点之间都有边相连,所以n个结点中任取两点的组合数为Cn2,故完全图Kn的边数为Cn2。 定义10.3 给每条边(或弧)都赋予权的图G=<V,E>称为带权图或加权图,记为G=<V,E,W>,W为各边(或弧)权的集合。

  10. 10.1.2 子图与补图 定义10.4 设G=<V,E>、G=<V,E>是两个图,于是 (1)若VV且EE,则称G为G的子图,G为G的母图。 (2)若G是G的子图,且VV或EE,则称G为G的真子图。 (3)若V=V且EE,则称G为G的生成子图或支撑子图。

  11. 定义10.5 G=<V,E>,V1V且V1≠,以V1为结点集,以两端点均在V1中的全体边为边集的G的子图,称为V1的诱导子图;E1E且E1≠,以E1为边集,以E1中边关联的结点的全体为结点集的G的子图,称为E1的诱导子图。 定义10.6 若G=<V,E>是一个n阶无向简单图,从Kn中删去G的所有边而得到的图称为G的补图或G的相对于完全图的补图,记为 。

  12. 例3 在图10-3中,图(b)、(c)、(d)都是图(a)的子图,也是真子图。图(b)和(c)是图(a)的生成子图。图(d)既是结点集{v2,v3,v4}的诱导子图,也是边集{[v2,v3],[v2,v4],[v3,v4]}的诱导子图。图(b)和(c)互为补图。

  13. 10.1.3 结点的度 定义10.7 在有向图G=<V,E>中,对于结点v∈V,以v为始点的弧的条数称为v的出度,记为d+(v);以v为终点的弧的条数称为v的入度,记为d-(v);v的出度和入度之和称为v的度数,记为d(v)。 在无向图G=<V,E>中,结点v的度数等于它关联的边数,记为d(v)。若v有环,规定该结点度数因环而增加2。

  14. 例4 在图10-1(a)中,d(v1)=3,d(v2)=5,在图10-1(b)中,d+(v2)=2,d-(v2)=1。 定理10.2(握手定理)在图G=<V,E>中,结点度数的总和等于边数的两倍,即 =2|E|。 因为图G中的每条边(包括环)都有两个端点,所以加上一条边就使各结点度数之和增加2,因此图G中结点度数的总和等于边数的两倍,即 =2|E|。 证明 推论:图G中度数为奇数的结点必为偶数个。

  15. 定理10.3 在任何有向图中,所有结点的入度之和等于所有结点的出度之和。 因为每一条有向边必对应一个入度和一个出度,若某个结点具有一个入度或出度,则必关联一条有向边,所以有向图中各结点入度之和等于边数,各结点出度之和等于边数,故结论成立。 证明 定义10.8无向图中度数为1的结点称为悬挂结点,它对应的边称为悬挂边。各结点度数均相同的图称为正则图。各结点度数均为k的图称为k度正则图。

  16. 定义10.9 在无向图G=<V,E>中,令(G)=max{d(v)|vV},(G)=min{d(v)|vV},称(G)、(G)分别为G的最大度和最小度。 定理10.4 设G为任意n阶无向简单图,则(G)≤n-1。 因G无平行边也无环,所以G中任意结点v至多与其余n-1个结点相邻,于是d(v)≤n-1。由v的任意性可得,(G)≤n-1。 证明

  17. 定义10.10 n阶无向图G=<V,E>,V={v1,v2,…,vn},称d(v1),d(v2),…,d(vn)为G的度数列。对给定非负整数列d=(d1,d2,…,dn),若存在以{v1,v2,…,vn}为结点集的n阶无向图G使d(vi)=di(i=1,2,…,n),称d是可图化的,若所得图G为简单图,称d是可简单图化的。

  18. 定理10.5 设有非负整数列d=(d1,d2,…,dn),则d是可图化的 ≡0(mod 2)。 证明 由握手定理知必要性显然成立。下证充分性。 由 ≡0(mod 2)可得,d中必有偶数个奇数,不妨设为d1,d2,…,d2k。首先在结点vr和vr+k之间连一条边(r=1,2,…,k)。然后在vi(i=1,2,…,2k)处作(di-1)/2个环,在vi(i=2k+1,2k+2,…,n)处作di/2个环,得到的图G满足d(vi)=di,所以d是可图化的。

  19. 定理10.6 设有递减非负整数列d=(d1,d2,…,dn),且 ≡0(mod 2),则d是可简单图化的 ,k=1,2,…,n-1。 证明 仅证必要性。若d是可简单图化的,设简单图G的结点集V={v1,v2,…,vn},且d(vi)=di(i=1,2,…,n)。对于任意一个k∈{1,2,…,n-1},当k<i≤n时,vi至多与{v1,v2,…,vk}中min{di,k}个结点相邻。因此,至多有 条边连接{v1,v2,…,vk}中的结点与{vk+1,vk+2,…,vn}中的结点。

  20. 又{v1,v2,…,vk}中每个结点与另外k-1个结点之间至多有k-1条边,故v1,v2,…,vk的结点度数之和满足 ,k=1,2,…,n-1。 例5 判断下列各非负整数列哪些是可图化的?哪些是可简单图化的? (1)5,5,4,4,2,1;(2)5,4,3,2,2 (3)3,3,3,1; (4)d1,d2,…,dn,d1>d2>…>dn≥1且 为偶数; (5)4,4,3,3,2,2。

  21. 由定理10.5易知,除(1)中序列不可图化外,其余各序列都可图化。但除(5)中序列外,其余的都是不可简单图化的。(2)中序列有5个数,若它可简单图化,设所得图为G,则(G)=5,与定理10.4矛盾,所以(2)中序列不可简单图化。类似可证(4)中序列不可简单图化。由定理10.5易知,除(1)中序列不可图化外,其余各序列都可图化。但除(5)中序列外,其余的都是不可简单图化的。(2)中序列有5个数,若它可简单图化,设所得图为G,则(G)=5,与定理10.4矛盾,所以(2)中序列不可简单图化。类似可证(4)中序列不可简单图化。 解 若(3)中序列可简单图化,设G=<V,E>以(3)中序列为度数列,V={v1,v2,v3,v4},且d(v1)=d(v2)=d(v3)=3,d(v4)=1,v4只能与v1、v2、v3中之一相邻,于是v1、v2、v3不可能都是3度结点,这是矛盾的,因而(3)中序列是不可简单图化的。

  22. 由定理10.6可知,(5)中序列是可简单图化的,图10-4所示的两个6阶无向简单图都以(5)中序列为度数列。

  23. 10.1.4 图的同构 定义10.11 无向图(或有向图)G1=<V1,E1>和G2=<V2,E2>,若有双射f:V1V2,使得对任意u、v∈V1,有[u,v]∈E1[f(u),f(v)]∈E2(或<u,v>∈E1<f(u),f(v)>∈E2),且其重数相同,则称G1同构于G2,记为G1G2。若G与其补图同构,称G为自补图。

  24. 例6 在图10-5中,图(a)和(b)是同构的。因为可作映射g,使得g(1)=v3,g(2)=v1,g(3)=v4,g(4)=v2。在映射g下,边<1,3>,<1,2>,<2,4>和<3,4>分别映射到<v3,v4>,<v3,v1>,<v1,v2>和<v4,v2>。

  25. 若两个图同构,则它们的结点数相同,边数相同,度数相同的结点数相同等。但这并不是图同构的充分条件,如在图10–6中,图(a)和(b)虽然满足以上3条件但不同构。图(a)中的x应与图(b)中的y对应,因为度数都是3。但图(a)中的x与两个度数为1的结点u、v邻接,而图(b)中的y仅与一个度数为1的结点w邻接。若两个图同构,则它们的结点数相同,边数相同,度数相同的结点数相同等。但这并不是图同构的充分条件,如在图10–6中,图(a)和(b)虽然满足以上3条件但不同构。图(a)中的x应与图(b)中的y对应,因为度数都是3。但图(a)中的x与两个度数为1的结点u、v邻接,而图(b)中的y仅与一个度数为1的结点w邻接。

  26. 例7 (1)画出4阶3条边的所有非同构无向简单图; (2)画出3阶2条边的所有非同构有向简单图。 解 (1)由握手定理可知,所画的无向简单图各结点度数之和为2×3=6,最大度数小于或等于3。于是所求无向简单图的度数列应满足的条件是:将6分成4个非负整数,每个整数均大于或等于0且小于或等于3,并且奇数个数为偶数。将这样的整数列排列出来只有下列三种情况: 3、1、1、1 2、2、1、1 2、2、2、0

  27. 所要求的全部非同构的图,如图10-7所示。 (2)由握手定理可知,所画的有向简单图各结点度数之和为4,且最大出度和最大入度均小于或等于2。度数列与入度列、出度列为: 1、2、1:入度列为0、1、1或0、2、0或1、0、1; 出度列为1、1、0或1、0、1或0、2、0

  28. 2、2、0:入度列为1、1、0; 出度列为1、1、0 四个所求有向简单图如图10-8所示。

  29. 10.2 路、回路与连通性 定义10.12 给定图G=<V,E>,设v0,v1,…,vm∈V,边(或弧)e1,e2,…,em∈E,其中vi-1、vi是ei的结点,交替序列v0e1v1e2…emvm称为连接v0到vm的路或通路,通常简记为v0v1…vm。路上边的数目称为该路的长度。当v0=vm时,称其为回路。 定义10.13 在一条路中,若出现的所有边(或弧)互不相同,称其为简单路或迹;若出现的结点互不相同,称其为基本路或初级通路。

  30. 定义10.14 在一条回路中,若出现的每条边(或弧)恰好一次,称其为简单回路;若出现的每个结点恰好一次,称其为基本回路或初级回路或圈。长度为奇数的圈称为奇圈;长度为偶数的圈称为偶圈。 例1在图10-9中,v1v2v3v2v4是一条简单路但不是基本路,v1v2v3v4是一条基本路;v1v2v3v2v4v1是一简单回路但不是基本回路,v1v2v3v4v1是一基本回路。

  31. 定理10.7 在一个图中,若从结点u到v存在一条路,则必有一条从u到v的基本路。 证明 若u到v的路已是基本路,结论成立。否则,在u到v的路中至少有一个结点比如w重复出现,于是经过w有一个回路C,删去回路C上的所有边(或弧)。若得到的u到v的路上仍有结点重复出现,则续行此法,直到u到v的路上没有重复的结点为止,此时所得即是基本路。

  32. 定理10.8 在n阶图中,任何基本路的长度均不大于n-1,任何基本回路的长度均不大于n。 证明 在n阶图中,因为任何基本路和基本回路中都最多有n个结点,所以任何基本路的长度均不大于n-1,任何基本回路的长度均不大于n。 定义10.15 在一个图中,若从u到v存在任何一条路,或u=v,则称从u到v是可达的。 定义10.16 若无向图G中任意两个结点之间都是可达的,则称G为连通图,否则称G为非连通图。一个图G的连通分支数记为(G)。

  33. 定理10.9 若G是n阶m条边的连通无向图,则m≥n-1。 证明 因为G连通,所以存在一条包含所有结点的路,而这样的路最短为n-1,故m≥n-1。 该定理的逆否命题可用来判定一个图不连通。 例2 在图10-10中,图(a)是连通的,而图(b)是不连通的,其连通分支数为3。

  34. 定义10.17 设G=<V,E>是连通无向图,若SV,使G删除S(将S中结点及其关联的边都删除)后所得子图G-S不连通,则称S是G的一个点割集。若G的点割集S={v},称v是G的割点。 若TE,使G删除T(将T中的边从G中全删除)后所得子图G-T不连通,则称T是G的一个边割集。若G的边割集T={e},称e是G的割边或桥。 例3 在图10-11中,v3是割点;{[v1,v3],[v2,v3]}是割边集,但没有割边。

  35. 定义10.18 若G是连通无向图,称(G)=min{|S| |S是G的点割集}为G的点连通度,称(G)=min{|T| |T是G的边割集}为G的边连通度。规定非连通图和平凡图的点连通度和边连通度为0,完全图Kn的点连通度为n-1。 点连通度和边连通度反映了图的连通程度,(G)和(G)的值越大,说明图的连通性越好。 定理10.10 一个连通无向图G中的结点v是割点存在结点u和w,使得连接u和w的每条路都经过v。

  36. 证明 充分性:若连通图G中存在结点u和w,使得连接u和w的每条路都经过v,则在子图G-{v}中u和w必不可达,故v是G的割点。 必要性:若v是G的割点,则G-{v}至少有两个连通分支G1=<V1,E1>和G2=<V2,E2>。任取u∈V1,w∈V2,因为G连通,故在G中必有连接u和w的路,但u、w在G-{v}中不可达,因此必通过v,即u和w之间的任意路必经过v。 定理10.11 一个连通无向图G中的边e是割边存在结点u和w,使得连接u和w的每条路都经过e。

  37. 定理10.12 连通无向图G的边e是割边e不包含在图的任何基本回路中。 证明 e=[x,y]是连通图G的割边当且仅当x、y在G-{e}的不同连通分支中,而后者等价于在G-{e}中不存在x到y的路,从而等价于e不包含在图的任何基本回路中。于是定理得证。 定理10.13 对于任意无向图G,有(G)≤(G)≤(G)。

  38. 证明 若G不连通或为平凡图,则(G)=(G)=0≤(G)。 若G为完全图Kn,则(G)=(G)=(G)=n-1。 其它情况,先证(G)≤(G)。 由于度数最小的结点关联的边都删除后,必使得G不再连通,所以(G)≤(G)。 再证(G)≤(G)。 当在G中删除构成边割集的(G)条边后,G不连通。现将这(G)条边中取自不同边的(G)个不同的端点删除后,G亦不连通。因此(G)≤(G)。

  39. 定义10.19 在简单有向图G中,若任何两个结点之间是相互可达的,则称G是强连通的;若任何两个结点之间,至少从一个结点到另一个结点是可达的,则称G是单向连通或单侧连通的;若有向图G的基图是连通的,则称G是弱连通的。 例4 在图10-12中,图(a)是强连通的,图(b)是单向连通非强连通的,图(c)是弱连通非单向连通的。

  40. 由定义可知,强连通图一定是单向连通,单向连通图一定是弱连通的,但反之不然。 定理10.14 有向图G是强连通的G中有一回路,它至少通过每个结点一次。 充分性:如G中有一回路,它至少通过每个结点一次,则G中任意两个结点相互可达,故G是强连通的。 证明 必要性:如有向图G是强连通的,则任意两个结点相互可达。设V={v1,v2,…,vm},i为vi到vi+1的路,n为vn到v1的路,则1、2、…、n-1、n所围成的回路至少通过每个结点一次。

  41. 定义10.20在简单有向图中,具有强连通性质的最大子图称为强分图;具有单向连通性质的最大子图称为单向分图或单侧分图;具有弱连通性质的最大子图称为弱分图。定义10.20在简单有向图中,具有强连通性质的最大子图称为强分图;具有单向连通性质的最大子图称为单向分图或单侧分图;具有弱连通性质的最大子图称为弱分图。 例5 在图10-13中,由{1,2,3}、{4}、{5}、{6}、{7,8}形成的诱导子图是强分图。由{1,2,3,4,5}、{5,6}、{7,8}形成的诱导子图都是单向分图。由{1,2,3,4,5,6}、{7,8}形成的诱导子图都是弱分图。

  42. 定理10.15 简单有向图G=<V,E>中的任一结点恰位于一个强分图中。 证明 设v∈V,S是G中所有与v相互可达的结点集合,由S诱导的子图是G的一个强分图,且包含结点v。若结点v位于两个不同的强分图S1和S2中,则S1中每个结点与v相互可达,v与S2中每个结点也相互可达,于是S1中任一结点与S2中任一结点相互可达,与S1和S2是强分图矛盾。所以,G的任一结点恰位于一个强分图中。 定理10.16 简单有向图中每个结点和每条弧至少位于一个单向分图中。

  43. 定理10.17 简单有向图中每个结点和每条弧恰位于一个弱分图中。 定义10.21 在图G中,结点u到结点v的最短路的长度称为u到v的距离,记作d<u,v>。如u到v没有路,则d<u,v>=+。它具有下列性质: d<u,v>≥0 d<u,u>=0 d<u,v>+d<v,w>≥d<u,w> u与v相互可达,d<u,v>未必等于d<v,u>。

  44. 10.3 图的矩阵表示 定义10.22 给定简单图G=<V,E>,V={v1,v2,…,vn},n阶方阵A=(aij)称为G的邻接矩阵,其中: 定理10.18 设A为简单图G的邻接矩阵,则Am中第i行第j列上的元素amij等于G中联结vi到vj长度为m的路的数目。

  45. 当m=1时,结论显然成立。 证明 假设m=k时结论成立,考察m=k+1的情形。 ak+1ij= akir arj (1) 因为Ak+1=Ak·A,则 akir是联结vi到vr长为k的路的数目 arj是联结vr到vj长为1的路的数目 因此(1)右端每项表示由vi经过vr到vj长度为k+1的路的数目。 对r求和即得ak+1ij,它是所有从vi到vj长度为k+1的路的数目。

  46. 定理10.19 设A为简单图G的邻接矩阵,AT为A的转置,则 (1)令AAT=(bij),则bij的意义是:有bij个结点v,使得vi到v,vj到v都有边; (2)令ATA=(cij),则cij的意义是:有cij个结点v,使得v到vi,v到vj都有边。 证明 仅证(1)。由B=AAT得,因为vi、vj到vk都有边当且仅当,所以对k求和得到的bij,就是使vi到v,vj到v都有边的v的数目。

  47. 例1 G=<V,E>如图10-14所示,求A,A2,A3,A4、AAT、ATA。 解 G的邻接矩阵A及其转置分别为: 根据矩阵的乘法运算可得

  48. 由定理10.18及A4可知,v2到v3长度为4的路有3条,v4到v2长度为4的路有2条。由定理10.18及A4可知,v2到v3长度为4的路有3条,v4到v2长度为4的路有2条。 由定理10.19及AAT、ATA可知,只有一个结点v3使得v1、v2到v3都有边;没有到v1、v2均有边的结点。

  49. 定义10.23 (1)给定无向图G=<V,E>,V={v1,v2,…,vn},E={e1,e2,…,em},令mij为结点vi与边ej的关联次数,称M=(mij)nm为G的关联矩阵。 M每列和均为2说明每条边关联两结点;第i行之和为vi的度数。 (2)给定简单有向图G=<V,E>,称M=(mij)nm为G的关联矩阵,其中:

  50. 例2 给出图10-15所示的图的关联矩阵。 解 在图10-15中,图(a)和图(b)的关联矩阵M1和M2分别为:

More Related