630 likes | 779 Views
第 七 章 图 论. 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 ) 。
E N D
第 七 章 图 论
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页所示。
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>关联,那么称该边为有向边。 终止结点 起始结点
定义7-1.2在图G=<V, E>中,与结点v(vV)其成员关联的边数,称作该结点的度数。记为deg(v)。 称△(G)=max{deg(v) | vV}图G的最大度数 称δ(G)=min {deg(v) | vV}图G的最小度数 定理7-1.1每个图中,结点度数的总和等于边数的两倍。即deg(v)=2|E| vV 证明:略 。
定理7-1.2在任何图中, 度数为奇数的结点必定是偶数个。 证明:设G中奇数度结点集合为V1,偶数度结点集合为 V2,则有: deg(v)+ deg(v) = deg(v) =2|E| vV1 vV2 vV 由于deg(v)是偶数之和必为偶数,而2|E|是偶数,故 vV2 得deg(v)是偶数,而各个deg(vi) (viV1)是奇数, vV1 这就要求偶数个deg(vi)求和,即|V1|是偶数。
定义7-1.3在有向图中,射入一个结点的边数称为该结点的入度,有一个结点射出的边数称为该结点的出度。结点的出度与入度之和就是该结点的度数。定义7-1.3在有向图中,射入一个结点的边数称为该结点的入度,有一个结点射出的边数称为该结点的出度。结点的出度与入度之和就是该结点的度数。 定理7-1.3 在任何有向图中,所有结点的入度之和等于所有结点的出度之和。 证明:有一个入度必有一个出度。 略 。 定义7-1.4含有平行边的任何一个图称为多重图。 定义7-1.5在简单图G=<V, E>中,与若每一对结点间都有边相关联,则称该图为完全图。
定理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的相对于完全图的补图。
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的子图。
定义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’ 。
7-2 路与回路 定义7-2.1给定图G=<V,E>,设 v0, v1,…, vnV, e1,…, enE, 其中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中路的例子。
定理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的通路。
定义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是连通图。
一度的顶点称为悬挂点(pendant nodes) 。 各顶点的度均相同的图称为正则图 (regular graph)。各顶点度均为k的正则图称为k-正则图。 删除结点:所谓在图中删除结点v,即是把v以及与v关联的边都删除。 删除边:所谓在图中删除某条边,即是把该边删除。 见P-282页的图7-2.2和页的图7-2.3。
定义7-2.4 设无向图G =<V,E>是连通图,若有结点集V1V,使图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
定义7-2.5 设无向图G =<V,E>是连通图,若有边集E1E,使图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
定理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)得结论。
定理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>。任取uV1,wV2,因为G是连通的,故在G中必有一条连结u和w的路C,但u和w在G’中属于两个不同的连通分支,故u和w必不连通,因此C必须通过v,故u和w之间的任意一条路都通过v。 2)再证:存在结点u和w的每条路都通过vv是割集 若连通图G中的某两个结点的每一条路都通过v,则删去v得到子图G’,在G’中这两个结点必然不连通,故v是图G的割点。
有向图的可达性:对于任何一个有向图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,vV
定义7-2.6在简单有向图G中,如果对于图G中的任何一对结点两者之间是相互可达的,则称这个图是强连通的。任何一对结点间,至少有一个结点到另一个结点是可达的,则称这个图是 单侧连通的 。如果在图G中略去边的方向,将它看成无向图后,图是连通的,则称该图为弱连通的。 v1 v1 v1 v2 v2 v2 v3 v3 v3 v4 v4 v4 (c)弱连通 (a)强连通 (b)单侧连通
定理7-2.4 一个有向图是强连通图,当且仅当G中有一个回路,它至少包含每个结点一次。 证明思路:1) 先证充分性: G中有一个回路G是强连通图 2)再证必要性: G是强连通图G中有一个回路 定义7-2.7在简单有向图G中,具有强连通性质的最大子图称为强分图;具有单侧连通性质的最大子图,称为单侧分图;具有弱连通性质的最大子图,称为弱分图。 见图7-2.7
定理7-2.5 在有向图G=<V,E>中,它的每一个结点位于且只位于一个强分图中。 证明思路:1) 先证:每一个结点必位于一个强分图中。 2)再证:每一个结点只位于一个强分图中。
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= 若简单图是无向图,则邻接矩阵是对称的。若是有向图,则邻接矩阵并不一定对称。邻接矩阵与结点的序号排列有关。 由于阶方阵是置换等价的,因此,按不同次序所写的邻接矩阵是彼此置换等价的。
利用邻接矩阵计算长度为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 . . .
定理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
定义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。
定义7-3.3给定无向图G=<V,E>,设 v1, v2,…, vpV, e1,…, eqE, 称p×q阶矩阵M (G)=(mij)p×q为图G的完全关联矩阵(incidence matrix)。其中: 1若vi关联ej。 0 若vi不关联ej。 mij= 关联矩阵反映出来图的性质: 1) 每一条边关联两个结点,故每一列中只有两个1。 2) 每一行中元素之和等于该行对应的结点的度数。 3) 一行中元素全为0,其对应结点为孤立点。 4) 两个平行边其对应的两列相同。 5) 同一个图当结点或边的编号不同时,其对应的矩阵只有行序列序的差别。
定义7-3.4给定简单有向图G=<V,E>,设 v1, v2,…, vpV, e1,…, eqE, 称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 。
定理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。
7-4 欧拉图与哈密顿图 哥尼斯堡七桥问题什么样的图可以从一个结点出发,沿着边巡行,必须通过所有的边一次且仅一次,最后回到出发点。 欧拉于1736年发表论文给出结论:哥尼斯堡七桥问题无解。 定义7-4.1如果无孤立结点图G上有一条经过G的所有边一次且仅一次的路径,则称该路径为图G的欧拉路径(Euler walk)。如果图G上有一条经过G边一次且仅一次的的回路,则称该回路为图G的欧拉回路,具有欧拉回路的图称为欧拉图(Euler graph)。
定理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中有两个奇数度结点 。必要性证完。
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连通且所有结点度数皆为偶数。
由七桥问题引申出的一笔画问题见 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类似
例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
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
所求的欧拉回路为: 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。
2 哈密尔顿图 周游世界问题
定义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|。 该定理用于证明某些图不是哈密尔顿图。
定理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。
若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条边的路。
定理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所示。
举例 非哈密顿图 非哈密顿图 哈密顿图 哈密顿图
定义7-4.4给定图G=<V,E>具有n个结点,如果将图G中度数之和 至少是n的非邻接结点联结起来得图G’,对G’重复上述步骤,直到不再有这样的结点对存在为止,所得的图,称为是原图G的闭包,记为C(G)。 定理7-4.6当且仅当一个简单图的闭包是哈密尔顿图时,这个简单图是哈密尔顿图。 见例题2
旅行推销员问题:即求带权无向完全图G中的最短的哈密顿回路。旅行推销员问题:即求带权无向完全图G中的最短的哈密顿回路。 该问题还没有多项式算法(NP-完全问题) 只有近似算法(略) 4 3 2 1 2 v 1 5 3 3 u
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的次数 。
定理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条边时公式仍成立。分两中情况证明:加边不增面、加边增面...
定理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度结点内同构的。
定理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给出了对偶图的示例。
定义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
定理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 矛盾。
定理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的颜色。