1 / 63

第 七 章 图 论

第 七 章 图 论. 7-1 图的基本概念. 定义 7-1.1 图 ( graph ) G 由一个三元组 < V(G) , E(G) ,  G > 表示,其中: 非空集合 V(G)={v 1 ,v 2 , … ,v r } 称为图 G 的 结点集 ,其成员 v i ( i=1,2,…,r ) 称为 结点 或 顶点 ( nodes or vertices ); 集合 E(G)={e 1 ,e 2 ,…,e s } 称为图 G 的 边集 ,其成员 e j ( j=1,2,…s ) 称为 边 ( edges ) 。

kemal
Download Presentation

第 七 章 图 论

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. 第 七 章 图 论

  2. 7-1 图的基本概念 定义7-1.1图(graph)G由一个三元组<V(G), E(G) , G>表示,其中: 非空集合V(G)={v1,v2,…,vr}称为图G的结点集,其成员vi(i=1,2,…,r)称为结点或顶点(nodesor vertices); 集合 E(G)={e1,e2,…,es}称为图G的边集,其成员ej(j=1,2,…s)称为边(edges)。 函数G:E(G)→(V(G),V(G)),称为边与顶点的关联映射(associatve mapping) 例1 4个结点6条边的图定义如272页所示。

  3. v1 v5 v2 v4 v3 v1 V1’ 环 (孤立点) v2 V2’ v4 V4’ v3 V3’ (a)无向图 (b)有向图 ( c ) 混合图 若把图中的边ej看作总是和两个结点关联,那么一个图亦简记为G=< V, E>,其中非空集合V称为图G的结点集,集合 E称为图G的边集。 若边ej与结点无序偶(vj,vk)关联,那么称该边为无向边。 若边ej与结点序偶<vj,vk>关联,那么称该边为有向边。 终止结点 起始结点

  4. 定义7-1.2在图G=<V, E>中,与结点v(vV)其成员关联的边数,称作该结点的度数。记为deg(v)。 称△(G)=max{deg(v) | vV}图G的最大度数 称δ(G)=min {deg(v) | vV}图G的最小度数 定理7-1.1每个图中,结点度数的总和等于边数的两倍。即deg(v)=2|E| vV  证明:略 。 

  5. 定理7-1.2在任何图中, 度数为奇数的结点必定是偶数个。  证明:设G中奇数度结点集合为V1,偶数度结点集合为 V2,则有: deg(v)+  deg(v) =  deg(v) =2|E| vV1 vV2 vV 由于deg(v)是偶数之和必为偶数,而2|E|是偶数,故 vV2 得deg(v)是偶数,而各个deg(vi) (viV1)是奇数, vV1 这就要求偶数个deg(vi)求和,即|V1|是偶数。

  6. 定义7-1.3在有向图中,射入一个结点的边数称为该结点的入度,有一个结点射出的边数称为该结点的出度。结点的出度与入度之和就是该结点的度数。定义7-1.3在有向图中,射入一个结点的边数称为该结点的入度,有一个结点射出的边数称为该结点的出度。结点的出度与入度之和就是该结点的度数。 定理7-1.3 在任何有向图中,所有结点的入度之和等于所有结点的出度之和。  证明:有一个入度必有一个出度。 略 。  定义7-1.4含有平行边的任何一个图称为多重图。 定义7-1.5在简单图G=<V, E>中,与若每一对结点间都有边相关联,则称该图为完全图。

  7. 定理7-1.4在任何图中, n个结点的无向完全图Kn的边数为n(n-1)/2。  证明: n个结点中任取两个结点的组合数为 Cn2 =n(n-1)/2 故边数为 |E| = n(n-1)/2  定义7-1.6给定一个图G,由G中所有结点和所有能使G成为完全图的添加边组成的图,称为G的相对于完全图的补图。

  8. v1 v1 v5 v5 v2 v2 v4 v4 v3 v3 v1 v5 v2 v4 v3 (a)完全图K5 (b)图G (c)图G的补图G’ 定义7-1.7设图G=<V, E>,如果有G’=<V’, E’>,且V’V’, E’E’,则称G’为G的子图。 例如,上图中, 图(b)的G和图(c)的G’都是图(a)的K5的子图。

  9. 定义7-1.8设G’=<V’,E’>是图G=<V,E>的子图,如果给定另外一个图G”=<V”,E”>使得E”=E-E’,且 V”中仅包含的边所关联的结点。则称G”为G’的相对于图G的补图。 例如,上图中, 图(b)的G是图(c)的G’相对于图(a)的K5的补图。 定义7-1.9设G’=<V’,E’>和G=<V,E>是图,如果存在一一对应的映射g:vi→ vi’ ,且e=(vi, vj)(或<vi, vj>) 的一条边,当且仅当e’=(g(vi), g(vj))(或<g(vi), g(vj)>)的一条边,则称G与G’的是同构的,记为G≌G’ 。

  10. 7-2 路与回路 定义7-2.1给定图G=<V,E>,设 v0, v1,…, vnV, e1,…, enE, 其中ei是关联于结点vi-1, vi的边,交替序列v0e1v1 e2… envn称为结点v0到vn的路(拟路径Pseudo path)。 v0和vn分别称为路的起点和终点,边的数目n称作路的长度。若一条路中所有的边e1, …, en均不相同,称作迹(路径walk) 。若一条路中所有的结点v0, v1,…, vn均不相同,称作通路(Path) 。当v0=vn时,这条路称作回路(闭路径closed walk) 。闭的通路,即除v0=vn之外,其余结点均不相同的路,称作圈(回路circuit) 。 见图7-2.1中路的例子。

  11. 定理7-2.1在一个具有n个结点的图中,如果从结点vj到结点vk存在一条路,则从结点vj到结点vk必存在一条不多于n-1条边的路。定理7-2.1在一个具有n个结点的图中,如果从结点vj到结点vk存在一条路,则从结点vj到结点vk必存在一条不多于n-1条边的路。  证明思路:多于n-1条边的路中必有重复出现的结点,反复删去夹在两个重复结点之间的边之后,剩余的边数不会超过n-1条边。  定理7-2.1的推论 在一个具有n个结点的图中,如果从结点vj到结点vk存在一条路,则从结点vj到结点vk必存在一条边数小于n的通路。

  12. 定义7-2.2在无向图G中,如果从结点u和结点v之间若存在一条路,则称结点u和结点v是连通的(connected) 。 结点之间的连通性是结点集V上的等价关系,对应该等价关系,必可将作出一个划分,把V分成非空子集V1, V2, …, Vm,使得两个结点vj和vk是连通的,当且仅当它们属于同一个Vi。把子图G(V1) , G(V2) , …, G(Vm)称为图G的连通分支(connected components),图G的连通分支数记为W(G)。 定义7-2.3若图G中只有一个连通分支,则称G是连通图。

  13. 一度的顶点称为悬挂点(pendant nodes) 。 各顶点的度均相同的图称为正则图 (regular graph)。各顶点度均为k的正则图称为k-正则图。 删除结点:所谓在图中删除结点v,即是把v以及与v关联的边都删除。 删除边:所谓在图中删除某条边,即是把该边删除。 见P-282页的图7-2.2和页的图7-2.3。

  14. 定义7-2.4 设无向图G =<V,E>是连通图,若有结点集V1V,使图G中删除了V1的所有结点后,所得到的子图是不连通图,而删除了V1的任何真子集后,所得到的子图仍是连通图,则称V1是G的一个点割集(cut-setof nodes) 。 k(G)=min{|V1|| 是G的点割集} 称为图G的点连通度(node-connectivity) 。 v1 v1 v5 v5 点割集V1={v2} v2 v4 v4 v3 v3

  15. 定义7-2.5 设无向图G =<V,E>是连通图,若有边集E1E,使图G中删除了E1的所有边后,所得到的子图是不连通图,而删除了E1的任何真子集后,所得到的子图仍是连通图,则称E1是G的一个边割集(cut-set of edges) 。若某一条边就构成一个边割集,则称该边为割边或桥。 割边e使图G满足W(G-e)>W(G) 。 边连通度(edge-connectivity) (G)定义:非平凡图的边连通度为 (G)=min{ |E1| | E1是G的边割集} 边连通度(G)是为了产生一个不连通图需要删去的边的最少数目。对平凡图G可以定义(G)=0,一个不连通图也有(G)=0

  16. 定理7-2.2 对于任何一个图G,有k(G)≤(G)≤δ(G)。  证明思路:若G不连通,则k(G)=(G)=0,上式成立。 若G连通,可分两步证明上式也成立。 1) 先证(G)≤δ(G) 若G是平凡图,则(G)=0≤δ(G),若G是非平凡图,则因每一结点的所有关联边必含一个边割集。故(G)≤δ(G)。 2)再证k(G)≤(G) 设(G)=1,即G有一条割边,这时k(G)=1,上式成立。 设(G)≥2,则删去(G)条边使G不连通,而删去(G)-1条边G仍连通,且有一桥e=(u,v)。对(G)-1条边中的每一条边都选取一个不同于u,v的端点,把这些端点删去必至少删去(G)-1条边。若产生的图是不连通的,则k(G)≤(G)-1<(G),若图仍连通,则e仍是桥,再删去u或v,必产生一不连通的图,故k(G)≤(G)。由1)和2)得结论。

  17. 定理7-2.3 一连通图G的结点v是割集的充分必要条件是存在两个结点u和w,使得结点u和w的每一条路都通过v。  证明思路: 1) 先证:v是割集存在结点u和w的每条路都通过v 若v是连通图G=<V,E>割点,设删去v得到的子图G’ , 则G’至少包含两个连通分支G1=<V1,E1>和G2=<V2,E2>。任取uV1,wV2,因为G是连通的,故在G中必有一条连结u和w的路C,但u和w在G’中属于两个不同的连通分支,故u和w必不连通,因此C必须通过v,故u和w之间的任意一条路都通过v。 2)再证:存在结点u和w的每条路都通过vv是割集 若连通图G中的某两个结点的每一条路都通过v,则删去v得到子图G’,在G’中这两个结点必然不连通,故v是图G的割点。

  18. 有向图的可达性:对于任何一个有向图G=<V,E>, 从结点u和到结点v有一条路,称为从u可达v。可达性 (accesible),是结点集上的二元关系,它是自反的和传递的,但是一般来说不是对称的。故可达性不是等价关系。 如果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,u>=∞。当u到v可达且v到u可达时, d<u,v>不一定等于d<v,u> 。 D=max d<u,v>称为图G=<V,E>的直径 u,vV

  19. 定义7-2.6在简单有向图G中,如果对于图G中的任何一对结点两者之间是相互可达的,则称这个图是强连通的。任何一对结点间,至少有一个结点到另一个结点是可达的,则称这个图是 单侧连通的 。如果在图G中略去边的方向,将它看成无向图后,图是连通的,则称该图为弱连通的。 v1 v1 v1 v2 v2 v2 v3 v3 v3 v4 v4 v4 (c)弱连通 (a)强连通 (b)单侧连通

  20. 定理7-2.4 一个有向图是强连通图,当且仅当G中有一个回路,它至少包含每个结点一次。  证明思路:1) 先证充分性: G中有一个回路G是强连通图 2)再证必要性: G是强连通图G中有一个回路 定义7-2.7在简单有向图G中,具有强连通性质的最大子图称为强分图;具有单侧连通性质的最大子图,称为单侧分图;具有弱连通性质的最大子图,称为弱分图。 见图7-2.7

  21. 定理7-2.5 在有向图G=<V,E>中,它的每一个结点位于且只位于一个强分图中。 证明思路:1) 先证:每一个结点必位于一个强分图中。 2)再证:每一个结点只位于一个强分图中。 

  22. 7-3 图的矩阵表示 定义7-3.1 设G=<V,E>是一个简单图,它有n个结点V={v1,v2,…vn},则n阶方阵A(G)=(aij)n×n称为图G的邻接矩阵(adjacency matrix) 。其中: 1vi adjvj 0vi nadjvj 或 i=j adj表示邻接, nadj表示不邻接。 aij= 若简单图是无向图,则邻接矩阵是对称的。若是有向图,则邻接矩阵并不一定对称。邻接矩阵与结点的序号排列有关。 由于阶方阵是置换等价的,因此,按不同次序所写的邻接矩阵是彼此置换等价的。

  23. 利用邻接矩阵计算长度为k的路径条数: 按照普通矩阵乘法计算n阶方阵A(G)=(aij)n×n的l次幂,所得乘积矩阵中的第i行第j列的元素,就是从结点vi到结点vj的长度为l的路径条数。 (aij (l))n×n= (A(G)) l = a11 a12...a1n a11 a12...a1n a11 a12...a1n a21 a22...a2n a21 a22...a2n … a21 a22...a2n ... ... … ... ... ... ... ... ... an1 an2...ann an1 an2...ann an1 an2...ann 共l个 n 其中 aij (l)=  aik ×akj (l-1) k=1 . . .

  24. 定理7-3.1 设A(G)是图G=<V,E>的邻接矩阵,则(A(G))l中的i行j列元素aij (l)等于G中联结vi与vj的长度为l的路径条数。  证明思路:对l用数学归纳法证明。 1) 当l=1时:aij (1)等于G中联结vi与vj的长度为1的路径条数。 2)设命题对l成立,即:aij (l)等于G中联结vi与vj的长度为l的路径条数。 3)现证l+1时也成立。即(A(G))l+1=(A(G)). (A(G))l n aij (l+1)=  aik ×akj (l) k=1 对k求和即得结论。  长度=l 长度=1 共akj (l)条 vi vk vj

  25. 定义7-3.2 设G=<V,E>是一个简单有向图,它有n个已经编序的结点V={v1,v2,…vn},定义n阶方阵P(G)=(pij)n×n称为图G的可达性矩阵。其中: 1 从vi到vj至少存在一条路。 0 从vi到vj不存在路。 pij= 可达性矩阵的求法有两种: 1) 计算矩阵 Bn=A+A2+A3+…+An 令不为零的元素等于1,为零的元素不变,得到P。 见例题1。 2) 令P=A∨A(2) ∨ A(3) ∨ … ∨ A(n) 其中A(i)(i=1,2,…,n)为布尔矩阵。 见例题2。

  26. 定义7-3.3给定无向图G=<V,E>,设 v1, v2,…, vpV, e1,…, eqE, 称p×q阶矩阵M (G)=(mij)p×q为图G的完全关联矩阵(incidence matrix)。其中: 1若vi关联ej。 0 若vi不关联ej。 mij= 关联矩阵反映出来图的性质: 1) 每一条边关联两个结点,故每一列中只有两个1。 2) 每一行中元素之和等于该行对应的结点的度数。 3) 一行中元素全为0,其对应结点为孤立点。 4) 两个平行边其对应的两列相同。 5) 同一个图当结点或边的编号不同时,其对应的矩阵只有行序列序的差别。

  27. 定义7-3.4给定简单有向图G=<V,E>,设 v1, v2,…, vpV, e1,…, eqE, 称p×q阶矩阵M (G)=(mij)p×q为图G的完全关联矩阵(incidence matrix)。其中: 1若vi是ej的起点。 -1若vi是ej的终点。 0 若vi不关联ej。 mij= 有向图G的两行相加定义为:第i行第j列的对应元素算术相加;相当于删除结点vi与结点vj之间的关联边,合并结点vi和vj。合并后得到的新结点记为vi,j 。 无向图G的两行相加定义为:第i行第j列的对应元素模2相加;相当于删除结点vi与结点vj之间的关联边,合并结点vi和vj。合并后得到的新结点记为vi,j 。

  28. 定理7-3.2如果一个连通图G=<V,E>,有个r结点,则其完全关联矩阵M(G)的秩为r-1,即rank M (G)=r-1。  证明思路: 只对无向图证明 利用线性代数中矩阵的初等(行、列)变换不改变矩阵的秩的结论和方法。  见P-例3 定理7-3.2的推论如果一个图G=<V,E>,有个r结点,w个最大连通子图,则图G的完全关联矩阵M(G)的秩为r- w,即rank M (G)=r-w。

  29. 7-4 欧拉图与哈密顿图 哥尼斯堡七桥问题什么样的图可以从一个结点出发,沿着边巡行,必须通过所有的边一次且仅一次,最后回到出发点。 欧拉于1736年发表论文给出结论:哥尼斯堡七桥问题无解。 定义7-4.1如果无孤立结点图G上有一条经过G的所有边一次且仅一次的路径,则称该路径为图G的欧拉路径(Euler walk)。如果图G上有一条经过G边一次且仅一次的的回路,则称该回路为图G的欧拉回路,具有欧拉回路的图称为欧拉图(Euler graph)。

  30. 定理7-4.1无向图G具有一条欧拉路,当且仅当G连通,并且有零个或两个奇数度结点。定理7-4.1无向图G具有一条欧拉路,当且仅当G连通,并且有零个或两个奇数度结点。  证明思路:1) 先证必要性: G有欧拉路  G连通 且(有0个 或 2个奇数度结点) 设G的欧拉路是点边序列v0e1v1e2… ekvk,其中结点可能重复,但边不重复。因欧拉路经过(所有边)所有结点,所以图G是连通的。 对于任一非端点结点vi,在欧拉路中每当vi出现依次,必关联两条边,故vi虽可重复出现,但是deg(vi)必是偶数。对于端点,若v0=vk,则deg(v0)必是偶数,即G中无奇数度结点 。若v0≠vk,则deg(v0)必是奇数, deg(vk)必是奇数,即G中有两个奇数度结点 。必要性证完。

  31. 2)再证充分性:(证明过程给出了一种构造方法) G连通且(有0个 或 2个奇数度结点) G有欧拉路 (1)若有 2个奇数度结点,则从其中一个结点开始构造一条迹,即从v0出发经关联边e1进入v1,若deg(v1)为偶数,则必可由v1再经关联边e2进入v2,如此下去,每边仅取一次,由于G是连通的,故必可到达另一奇数度结点停下,得到一条迹L1:v0e1v1e2… ekvk。若G中没有奇数度结点,则从任一结点v0出发,用上述方法必可回到结点v0,得到一条闭迹。 (2) 若L1通过了G的所有边, L1就是一条欧拉路。 (3) 若G中去掉后得到子图G’,则G’中每个结点度数都为偶数,因为原来的图G是连通的,故L1与G’至少有一个结点vi重合,在G’中由vi出发重复(1)的方法,得到闭迹L2。 (4)当L1与L2组合,若恰是G,得欧拉路,否则重复(3),可得闭迹L3,依此类推可得一条欧拉路。充分性证完  定理7-4.1的推论无向图G具有一条欧拉路,当且仅当G连通且所有结点度数皆为偶数。

  32. 由七桥问题引申出的一笔画问题见 P-303页的例子。由七桥问题引申出的一笔画问题见 P-303页的例子。 定义7-4.2给定有向图G,经过G的所有边一次且仅一次的单向路,称为图G的欧拉路(Euler walk)。经过G边一次且仅一次的的回路,称为图G的欧拉回路,具有欧拉回路的图称为欧拉图(Euler graph)。 定理7-4.2有向图G为具有一条单向欧拉回路,当且仅当G连通,并且每个结点的入度等于出度。有向图G有单向欧拉路,当且仅当G连通,并且恰有两个结点的入度与出度不等,它们中一个的出度比入度多1,另一个入度比出度多1。 证明思路与定理7-4.1类似

  33. 例1有向欧拉图应用示例:计算机鼓轮的设计。例1有向欧拉图应用示例:计算机鼓轮的设计。 鼓轮表面分成24=16等份,4个触点a,b,c,d读出1101(状态图中的边e13),转一角度后将读出1010 (边e10)。 d 1 1 1 0 1 1 1 c 0 0 0 0 1 b 1 0 1 0 0 1 a 0 1

  34. e0=0000 a1 a2 a3 (=000) 1 a1 a2 a3 (=000) 0 000 a1 a2 a3 (=100) 0 e1=0001 e8=1000 a1 a2 a3 (=001) 1 e9=1001 001 100 010 e2=0010 e4=0100 e3=0011 e10=1010 e5=0101 e12=1100 101 e13=1101 e11=1011 011 110 e6=0110 a1 a2 a3 (=110) 0 e14=1110 e7=0111 111 a1 a2 a3 (=011) 1 a1 a2 a3 (=111) 0 a1 a2 a3 (=111) 1 e15=1111

  35. 所求的欧拉回路为: e0e1e2e4e9e3e6e13e10e5e11e7e16e14e12e8(e0) (从图示位置开始) e13e10e5e11e7e16e14e12e8e0e1e2e4e9e3e6 (e13) 所求的二进制序列为: 0000100110101111 (0) 1101011110000100 (1) (从图示位置开始) 上述结论可推广到鼓轮具有n个触点的情况。构造2n-1个结点的有向图,每个结点标记为n-1位二进制数,从接出发,有一条终点为a2a3...an-10的边,该变记为a1a2a3...an-10;还有一条标记为a2a3...an-11的边,该边记为a1a2a3...an-11。邻接边的标记规则为:“第一条边后n-1位与第二条边前n-1位二进制数相同”。 哈密尔顿回路问题见图7-4.6。

  36. 2 哈密尔顿图 周游世界问题

  37. 定义7-4.3给定图G,若存在一条路经过图中的每个结点恰好一次,这条路称作哈密尔顿路(Hamilton walk)。若存在一条回路经过图中的每个结点恰好一次 ,称作哈密尔顿回路,具有哈密尔顿回路的图称为哈密尔顿图( Hamilton graph)。 定理7-4.2若图G=<V,E>具有哈密尔顿回路,则对于结点集V的每个非空子集S均有W(G-S)≤|S|成立。其中W(G-S)是G-S中连通分支数。 证明思路:回路C删1个结点变成路,但仍连通,删2个结点最多最多增加1个分支(删端点处的结点不增加分支),依此类推。所以,增加的分支数不大于删除的结点数|S|。  该定理用于证明某些图不是哈密尔顿图。

  38. 定理7-4.4设图G具有n个结点的简单图,如果G中每一对结点度数之和大于等于n-1,则G中存在一条哈密尔顿路。定理7-4.4设图G具有n个结点的简单图,如果G中每一对结点度数之和大于等于n-1,则G中存在一条哈密尔顿路。  证明思路:1) 先证G连通: 若G有两个或多个互不连通的分支,设一个分图有n1个结点,任取一个结点v1,另一分图有n2个结点,任取一个结点v2,因为deg(v1)≤n1-1, deg(v2)≤n2-1, deg(v1)+ deg(v2)≤n1+n2-2<n-1 ,与假设矛盾, G是连通的。 2) 先证(构造)要求的哈密尔顿路存在: 设G中有p-1条边的路,p<n,它的结点序列为v1, v2,…, vp。如果有v1或vp邻接于不在这条路上的一个结点,立刻扩展该路,使它包含这个结点,从而得到p条边的路。否则v1和vp都只邻接于这条路上的结点,我们证明在这种情况下,存在一条回路包含结点v1, v2,…, vp。

  39. 若v1邻接于vp,则v1, v2, …, vp即为所求。 若v1邻接于结点集{vl,vm,…,…,vj,…,vt},这里2≤l,m,...,j,...,t≤p-1,如果vp是邻接于vl-1,vm-1,…,…, vj-1, …,vt-1中之一,譬如是vj-1,则v1v2…vj-1vpvp-1...vjv1 是所求回路(如图7-4.9(a)所示)。 如果vp不邻接于vl-1,vm-1,…,…,vj-1, …,vt-1中任一个,则vp最多邻接于p-k-1个结点, deg(vp)≤p-k-1, deg(v1)=k,故deg(vp)+deg(v1)≤p-k-1+k<n-1,即v1与 vp 度数之和最多为n-2,得到矛盾。 至此,已经构造出一条包含结点v1,v2,…,vp的回路,因为G是连通的,所以在G中必有一个不属于该回路的结点vx与回路中某一结点vk邻接,如图7-4.9(b)所示, 于是就得到一条包含p条边的回路(vx,vk,vk+1,…,vj-1,vp,vp-1,…, vj,v1, v2 , …, vk-1),如图7-4.9(c)所示,重复前述构造方法,直到得到n-1条边的路。 

  40. 定理7-4.5设图G具有n个结点的简单图,如果G中每一对结点度数之和大于等于n,则G中存在一条哈密尔顿回路。定理7-4.5设图G具有n个结点的简单图,如果G中每一对结点度数之和大于等于n,则G中存在一条哈密尔顿回路。  证明思路:由定理7-4.4知,必有一条哈密尔顿路,设为v1,v2,…,vn,若v1与vn邻接,则定理得证。 若v1与vn不邻接,假设v1邻接于{ vi1,vi2,…,vik}, 2≤ij≤n-1, vn必邻接于vi1-1,vi2-1,…,vik-1中之一。若vn不邻接于vi1-1,vi2-1,…,vik-1中之一,则vn至多邻接于n-k-1个结点,因而, deg(vn)≤n-k-1,而deg(v1)=k, deg(v1)+ deg(vn)≤n-k-1+k=n-1 ,与假设矛盾, 所以必有一条哈密尔顿路v1v2…vj-1vnvn-1 …vjv1,如图7-4.11所示。

  41. 举例 非哈密顿图 非哈密顿图 哈密顿图 哈密顿图

  42. 定义7-4.4给定图G=<V,E>具有n个结点,如果将图G中度数之和 至少是n的非邻接结点联结起来得图G’,对G’重复上述步骤,直到不再有这样的结点对存在为止,所得的图,称为是原图G的闭包,记为C(G)。 定理7-4.6当且仅当一个简单图的闭包是哈密尔顿图时,这个简单图是哈密尔顿图。 见例题2

  43. 旅行推销员问题:即求带权无向完全图G中的最短的哈密顿回路。旅行推销员问题:即求带权无向完全图G中的最短的哈密顿回路。 该问题还没有多项式算法(NP-完全问题) 只有近似算法(略) 4 3 2 1 2 v 1 5 3 3 u

  44. 7-5 平面图 定义7-5.1 如果无向图G=<V,E>的所有结点和边可以在一个平面上图示出来,而使各边仅在顶点处相交。无向图G称为平面图(planar graph),否则称G为非平面图。 定义7-5.2 设图G=<V,E>是一连通平面图,由图中各边所界定的区域称为平面图的面(regions)。有界的区域称为有界面,无界的区域称为无界面。界定各面的回路称为面的边界(boundary),面r的边界长度称为面r的度(degree)记为deg (r),又称为面r的次数 。

  45. 定理7-5.1设G为一有限平面图,面的次数之和等于其边数的两倍。定理7-5.1设G为一有限平面图,面的次数之和等于其边数的两倍。  证明思路:任一条边或者是两个面的共同边界(贡献2次),或者是一个面的重复边(贡献2次) 定理7-5.2(欧拉定理) 设G为一平面连通图,v为其顶点数,e为其边数,r为其面数,那么欧拉公式成立 v – e + r = 2  证明思路:采用归纳法证明 (1)归纳基础:图G为孤立结点时,v=1,e=0,r=1, v–e+r=1-0+1=2,公式成立;图G有一条边时,v=2,e=1,r=1, v–e+r=2-1+1=2,公式成立。 (2)归纳假设:设G有k条边时公式成立,即vk–ek+r=2 (3)归纳推理:需要证明G有k+1条边时公式仍成立。分两中情况证明:加边不增面、加边增面...

  46. 定理7-5.3设G为一平面连通简单图,其顶点数v≥3,其边数为e,那么 e≤3v – 6  证明思路:设G的面数为r,当v=3,e=2时上式成立,若e ≥3,则每一面的次数不小于3,各面次数之和等于2e,因此 2e≥3r, r≤2e/3 代入欧拉公式: 2=v-e+r≤v-e+ 2e/3 整理后得: e≤3v – 6  本定理的用途:判定某图是非平面图。 例1K5有10条边,5个结点,由定理判断 3 ×5-6<10判定K5是非平面图。 例2K3,3是非平面图。 定义7-5.3给定两个图G1和G2,如果他们是同构的,或者通过反复插入或除去度数为2的结点后,使G1与G2同构,则称该两图是在2度结点内同构的。

  47. 定理9.10(库拉托夫斯基定理) 图G是平面图,当且仅当对G不包含K5及K3,3在2度结点内同构的子图。 7-6 对偶图与着色 定义7-6.1 对具有面F1 ,F2,...,Fn的连通平面图G=<V,E>实施下列步骤所得到的图G*称为图G的对偶图(dual of graph): (a) 在G的每一个面Fi的内部作一个G*的顶点vi*。 (b) 若G中面Fi与Fj有公共边界ek,那么过边界的每一边ek作关联vi*与vj*的一条边ek* =(vi*, vj*)。 ek*与G*的其它边不相交。 (c) 当ek为单一面Fi的边界而不是与其它面的公共边界时,作vi*的一条环与ek相交(且仅交于一处)。所作的环不与 G*的边相交。 图7-6.2给出了对偶图的示例。

  48. 定义7-6.2如果图G的对偶图G*同构于G,则称G是自对偶图。定义7-6.2如果图G的对偶图G*同构于G,则称G是自对偶图。 定义7-6.3无自环图G称为 可k-着色的(k-chromatic),如果可用k种颜色给G的所有顶点着色,使每个顶点着一种颜色,而同一边的两个端点着不同颜色。 韦尔奇.鲍威尔(Welch Powell)着色算法 a) 将G中的结点按照度数的递减顺序排列(可能不唯一)。 b) 用第一种颜色对第一点着色,并且按排列次序,对与前面着色点不邻接的每一点着上同样的颜色。 c) 用第二种颜色对对尚未着色的点重复b) ,用第三种颜色继续这种做法,直到所有结点全部着上色为止。 着色示例见图7-6.3

  49. 定理7-6.1 任对于n个结点的完全图,有x(Kn)=n。  证明: Kn的每个结点都与其他结点相邻接,所以至少需要n种颜色,又最多需要n种颜色。  定理7-6.2 设G为一个至少具有三个结点的连通平面图,则G中必有一个结点u,使得deg (u) ≤ 5。  证明:设G=<V,E>,|V|=v,|E|=e,若G的每个结点u,都有deg (u) ≥ 6,因此, deg(vi ) ≥6v 但因 v  deg(vi )= 2|E| =2e i=1 故2e≥6v,所以e≥3v>3v-6,与 定理7-5.3 矛盾。 

  50. 定理7-6.3 任何平面图G都是最多可5-着色的。  证明思路:对结点个数v采用归纳法 (1)归纳基础:图G的结点数为v=1,2,3,4,5时,结论成立。 (2)归纳假设:设G有k个结点时结论成立。即G是最多可5-着色的。 (3)归纳推理:需要证明G有k+1个结点时结论仍成立。 先G在中删去度数小于5的结点u,根据归纳假设,所得的图G-{u}有k个结点,结论成立。然后考虑在G-{u}中加上一个结点的情况。若加入的结点满足deg (u)<5,则可以对u正常着色。若加入的结点满足deg (u)=5,则与它邻接的5个结点可以用5种颜色着色。分两种情况证明: . 对调v1,v3两个结点的颜色后,给着v1的颜色。 .对调v2,v4两个结点的颜色后,给着v2的颜色。

More Related