780 likes | 907 Views
第四部分 图论. 4.1 图的基本概念 4.2 欧拉图与哈密顿图 4.3 树 4.4 平面图及图的着色. 4.1 图的基本概念. 4.1.1 图. 无序积 A&B = { ( a , b ) |a ∈A∧ b ∈B }. 定义 14.1 一个 无向图 是一个有序的二元组 <V , E> ,记做 G ,其中 ( 1 ) V ≠ φ 称为 顶点集 ,其元素称为 顶点 或 结点 。 ( 2 ) E 称为 边集 ,它是无序集 V&V 的多重子集,其元素称为 无向边 。简称 边 。.
E N D
第四部分 图论 4.1 图的基本概念 4.2 欧拉图与哈密顿图 4.3 树 4.4 平面图及图的着色
4.1 图的基本概念 4.1.1 图 无序积A&B={(a,b)|a∈A∧b∈B} 定义14.1 一个无向图是一个有序的二元组<V,E>,记做G,其中 (1)V≠φ称为顶点集,其元素称为顶点或结点。 (2)E称为边集,它是无序集V&V的多重子集,其元素称为无向边。简称边。
定义14.2 一个有向图是一个有序的二元组<V,E>,记做D,其中 (1)V同无向图。 (2)E为边集,它是笛卡儿积V×V的多重子集,其元素称为有向边。简称边。 如书例14.1 其它规定与概念见书P268
定义14.3 在无向图中,关联一对顶点的无向边如果多于1条,则称这些边为平行边,平行边的条数称为重数。 在有向图中,关联一对顶点的有向边如果多于1条,并且这些边的始点与终点相同(也就是它们的方向相同),则称这些边为平行边。 含平行边的图称为多重图。 既不含平行边也不含环的图称为简单图。
定义14.4 设G=<V,E>为一无向图,∀v∈V,称v作为边的端点次数之和为v的度数,简记为度,记做dG(v),在不发生混淆时,简记为d(v)。设D=<V,E>为有向图,∀v∈V,称v作为边的始点的次数之和为v的出度,记做 ,简记 。称v作为边的终点的次数之和为v的入度,记做 ,简记作 , 称为v的度数,记做d(v)。 悬挂顶点,悬挂边 偶度(奇度)顶点
定理14.1(握手定理)设图G=<V,E>为任意无向图,其中结点集合为V={v1,v2,…,vn},|E|=m,则定理14.1(握手定理)设图G=<V,E>为任意无向图,其中结点集合为V={v1,v2,…,vn},|E|=m,则 定理14.2 设有向图D=<V,E>为任意无向图,其中结点集合为V={v1,v2,…,vn},|E|=m,则 且 推论 任何图(无向的或有向的)中,奇度顶点的个数是偶数个。
定理14.3 设非负整数列d=(d1,d2,…,dn),则d是可图化的当且仅当 定理14.4 设G为任意n阶无向简单图,则 例:判断下列各数列哪些可图化?哪些可简单图化? (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且∑di为偶数 (5)(4,4,3,3,2,2)
4 c d 2 3 1 b a 定义14.5 设图G的点集为V,边集为E,图G′的点集为V′,边集为E′。如果存在着V到V′的双射函数f,使对任意的u,v∈V,(u,v)∈E(或<u,v>∈E),当且仅当(f(u),f(v))∈E′(或<f(u),f(v)>∈E′),并且重数相同,则称图G和G′ 同构,记作G≌G′。 例如:
定义14.6 设G为n阶无向简单图,如果任意两个不同的结点之间都有一条边关联,则称G为n阶无向完全图,简称n阶完全图,记作Kn(n≥1)。 设D为n阶有向简单图,若D中每个顶点都邻接到其余n-1个顶点,又邻接于其余的n-1个顶点,则称D是n阶有向完全图。 设D为n阶有向简单图,若D的基图为n阶无向完全图Kn,则称D是n阶竞赛图。 如书图14.4 易知:n阶无向完全图,n阶有向完全图,n阶竞赛图的边数分别为
定义14.7 设G为n阶无向简单图,若∀v∈V(G),均有d(v)=k,则称G为k-正则图。 定义14.8 设G=<V,E>,G’=<V’,E’>为两个图(同为无向图或同为有向图),若V’⊆V且E’⊆E,则称G’是G的子图,G为G’母图,记做G’⊆G,又若V’⊂V或E’⊂E,则称G’为G的真子图。若V’=V,则称G’为G的生成子图。 导出子图 如图14.5
定义14.9 设G=<V,E>为n阶无向简单图。以V为顶点集,以所有使G成为完全图Kn的添加边组成的集合为边集的图,称为G的补图,记做 。 若图 ,则称G是自补图。 如图14.6 定义14.10 设G=<V,E>为无向图。 (1)设e∈E,用G-e表示从G中去掉边e,称为删除边e。又设E’⊂E,用G-E’表示从G中删除E’中所有边,称为删除E’。
(2)设v∈V,用G-v表示从G中去掉v及所关联的一切边,称为删除顶点v,又设V’⊂V,用G-V’表示从G中删除V’中所有顶点,称为删除V’。(2)设v∈V,用G-v表示从G中去掉v及所关联的一切边,称为删除顶点v,又设V’⊂V,用G-V’表示从G中删除V’中所有顶点,称为删除V’。 (3)设边e=(u,v)∈E,用G\e表示从G中删除e后,将e的两个端点u,v用一个新的顶点w(或用u或v充当w)代替,使w关联e以外u,v关联的所有边,称为边e的收缩。 (4)设u,v∈V(u,v可以相邻,也可能不相邻),用G⋃(u,v)(或G+(u,v))表示在u,v之间加一条边(u,v)称为加新边。 如图14.7
4.1.2 通路与回路 定义在无向图(或有向图)G=<V,E>中,设v0,v1,…,vn∈V,e0,e1,…,en∈E,其中ei是关联于结点vi-1,vi的边,交替序列v0e0v1e1…en-1 vn称为联结v0到vn的通路。v0和vn分别称为通路的起点和终点,通路中所含边的条数称为该通路的长度。 如果通路中的始点与终点相同,则称这条路为回路。 如果经过的边各异,则称此路径为简单通路(回路) 如果经过的结点各异边也各异,则称初级通路或路径(初级回路或圈),奇圈,偶圈。
复杂通路(复杂回路) 更简单的表示法: (1)只用边的序列表示通路(回路)。 (2)在简单图中可以只用顶点表示通路(回路)。 定理14.5 在n阶无向图G中,如果存在一条从vi到vj的通路,则从vi到vj必有一条长度小于或等于n-1的通路。 推论 在n阶无向图G中,如果从vi到vj存在一条通路,则从vi到vj必有一条长度小于或等于n-1的初级通路(或路径)。
定理14.6 在n阶无向图G中,如果存在一条vi到自身的回路,则必有一条vi到自身长度小于或等于n的回路。 推论 在n阶无向图G中,如果存在一条vi到自身的简单回路,则必有一条vi到自身长度小于或等于n的初级回路。
4.1.3 图的连通性 定义14.12 设无向图G=<V,E>,∀u,v∈V,若u,v之间存在通路,则称u,v是连通的,记做u~v,∀v∈V,规定v~v。 定义14.13 若无向图G是平凡图或G中任何两个顶点都是连通的,则称G为连通图,否则称G为非连通图或分离图。 易证:连通关系是V上的等价关系。
定义14.15 设u,v为无向图G中任意两个顶点,若u~v,称u,v之间长度最短的通路为u,v之间的短程线,短程线的长度称为u,v之间的距离,记做d(u,v)。当u~v时,规定d(u,v)= 。 定义14.14 设无向图G=<V,E>,V关于顶点之间的连通关系~的商集V/~={V1,V2,…,Vk},Vi为等价类,称导出子图G[Vi](i=1,2,…,k)为G的连通分支,连通分支数k常记为p(G)。
距离有以下性质: (1)d(u,v)≥0,u=v时,等号成立。 (2)具有对称性:d(u,v)=d(v,u) (3)满足三角不等式:∀u,v,w∈V(G),则d(u,v)+d(v,w)≥d(u,w) 定义14.16 设无向图G=<V,E>,若存在V’⊂V,且V’≠Ф,使得p(G-V’)>p(G),而对于任意的V’’⊂V’,均有p(G-V’’)=p(G),则称V’是G的点割集,若V’是单元集,即V’={v},则称v为割点。 如图14.8
定义14.17 设无向图G=<V,E>,若存在E’⊂E,且E’≠Ф,使得p(G-E’)>p(G),而对于任意的E’’⊂E’,均有p(G-E’’)=p(G),则称E’是G的边割集,若E’是单元集,即E’={e},则称e为割边或桥。 如上例 定义14.18 设G为无向连通图且不含完全图作为子图,则称κ(G)=min{|V’||V’为G的点割集}为G的点连通度,简称连通度。规定完全图Kn的点连通度为n-1,又规定非连通图的点连通度为0。又若κ(G)≥k,则称G是k-连通图。
定义14.19 设G为无向连通图,则称λ(G)=min{|E’||E’为G的边割集}为G的边连通度。规定完全图Kn的边连通度为n-1,非连通图的边连通度为0。又若λ(G)≥r,则称G是r边-连通图。 见书例14.6 定理14.7 对于任何无向图G,有 κ(G)≤λ(G)≤δ(G)
定义14.20 在有向图D=<V,E>中,若从结点u到v有通路,则称u可达v,记做u→v。 规定u总是可达自身的,即u→u。 若u→v且v→u,则称uv相互可达,记做u↔v。则u↔u 。 定义14.21 在有向图D=<V,E>中,任意结点u,v,若u→v,称u到v长度最短的通路为u到v的短程线,短程线的长度为u到v的距离,记做d<u,v>。
定义14.22 设D=<V,E>为一个有向图,若D的基图是连通图,则称D是弱连通图,简称为连通图。 若任意的u,v∈V,u→v或v→u,则称D是单向连通图。 若均有u↔v,则称D是强连通图。 如书图14.11 定理14.8 设有向图D=<V,E>,V={v1,v2,…,vn}。D是强连通图当且仅当D中存在经过每个顶点至少一次的回路。
定理11.9 设D是n阶有向图,D是单向连通图当且仅当D中存在经过每个顶点至少一次的通路。 定义14.23 若无向图G的点集V可以划分成两个子集V1和V2(V1∪V2=V,V1∩V2=Ø)并使图中每一条边的端点一个在V1中,另一个在V2中,则称图G为二部图(或偶图),V1,V2称为互补顶点子集,G记作(V1,V2,E)。又若G是二部图,且V1中的每一个结点都与V2中的每一个结点邻接,则称G为完全二部图,记作Kr,s,其中r=|V1|,s=|V2|。 如书图14.13
定理14.10 一个无向图G=<V,E>是二部图当且仅当G中无奇数长度的回路。
4.1.4 图的矩阵表示 定义14.24 设无向图G=<V,E>,V={v1,v2,…,vn},E={e1,e2,…,em},令mij为顶点vi与边ej的关联次数,则矩阵M(G)=(mij)n×m为G的关联矩阵。 如书图14.14
定义14.25 设有向图D=<V,E>中无环,V={v1,v2,…,vn},E={e1,e2,…,em},则矩阵M(D)=(mij)n×m,其中 称M(D)为有向图D的关联矩阵。 如书图14.15
定义14.26 设有向图D=<V,E>中,V={v1,v2,…,vn},E={e1,e2,…,em},令 为顶点vi邻接到顶点vj边的条数,称 为D的邻接矩阵,记做A(D),或简记A。 如书图14.16
定义14.27 设有向图D=<V,E>,V={v1,v2,…,vn}令 则称矩阵(pij)n×n为图D的可达矩阵。记作P(D),简记为P。
2 l1 1 l4 l5 l2 4 3 l3 例:如下图
4.1.5 图的运算 定义14.28 定义14.29 如书P290页
4.2 欧拉图与哈密顿图 定义15.1 给定无孤立结点图G,如果图中存在一条通过图中各边一次且仅一次的回路,则称此回路为欧拉回路,具有欧拉回路的图,称为欧拉图。如果图中存在一条通过图中各边一次且仅一次的通路,则称此通路为欧拉通路,具有欧拉通路而无欧拉回路的图,称为半欧拉图。 如图15.1
定理15.1无向图G是欧拉图当且仅当G是连通图。且图中没有奇度顶点,即各点的度数为偶数。定理15.1无向图G是欧拉图当且仅当G是连通图。且图中没有奇度顶点,即各点的度数为偶数。 定理15.2 无向图G是半欧拉图当且仅当图G是连通的,且G中恰有两个奇度顶点。 如下图:
定理15.3 有向图D是欧拉图当且仅当D是连通的,且图中每个顶点的入度和出度相等。 定理15.4 有向图D是半欧拉图当且仅当D是单向连通的,且D中恰有两个奇度顶点,其中一个顶点的入度比它的出度多1,另一个顶点的出度比它的入度多1,而其他结点的入度和出度相等。 定理15.5 G是非平凡的欧拉图当且仅当G是连通的且为若干个边不重的圈的并。 Fleury算法
4.2.2 哈密顿图 定义15.2 经过图(有向图或无向图)中所有顶点一次且仅一次的通路称为哈密顿通路。经过图中所有顶点一次且仅一次的回路称为哈密顿回路。具有哈密顿回路的图称为哈密顿图,具有哈密顿通路但不具有哈密顿回路的图称为半哈密顿图,平凡图是哈密顿图。 如图15.6 P300
定理15.6设无向图G=<V,E>是哈密尔顿图,则对于结点集V的每个非空子集V1,都有p(G-V1)≤|V1|成立,其中p(G-V1)是G-V1中的连通分支数。定理15.6设无向图G=<V,E>是哈密尔顿图,则对于结点集V的每个非空子集V1,都有p(G-V1)≤|V1|成立,其中p(G-V1)是G-V1中的连通分支数。 推论 设无向图G=<V,E>是半哈密尔顿图,则对于结点集V的每个非空子集V1,都有p(G-V1)≤|V1|+1成立。 如例15.4
定理15.7 设图G是具有n个结点(v1,v2,…,vn)的无向简单图,如果图G中任意两个不相邻结点均有 d (vi)+d (vj)≥n-1 则图G具有哈密尔顿通路,即G是半哈密尔顿图。 推论 设G为n(n≥3)阶无向简单图,若对于G中任意两个不相邻的顶点均有 d (vi)+d (vj)≥n 则图G中存在哈密顿回路,即G为哈密顿图。
定理15.8 设u,v为n阶无向简单图G中两个不相邻的顶点,且d(u)+d(v)≥n,则G为哈密顿图当且仅当G∪(u,v)为哈密顿图((u,v)是加的新边)。 定理15.9 若D为n(n≥2)阶竞赛图,则D中具有哈密顿通路。
4.2.3 带权图与货郎担问题 定义15.3 给定图G=<V,E>(G为有向图或无向图),设W:E→R(R为实数集),对G中任意的边e=(vi,vj)(或<vi,vj>),设W(e)=wij,称实数wij为边e上的权,并将wij标注在边e上,称G为带权图,此时常将带权图G记做<V,E,W>。设G‘是G子集,称∑W(e)为G’的权,并记做W(G‘),即W(G‘)=∑W(e)。
4.3 树 4.3.1 无向树及其性质 定义16.1 设T是无回路的无向简单连通图,则称T为无向树,或简称为树。 平凡图称为平凡树; 若无向图G至少有两个连通分支,则称其为森林。 悬挂顶点称为树叶。 度数大于或等于2的顶点称为分支点。
图1 图2 如下图:
定理16.1 设G是含n个结点和m条边的简单无向图,则下列各结论都是等价的,都可作为无向树的定义。 (1)G是树。 (2)G中任意两个不同的结点间,有且仅有一条通路相连。 (3)G无回路且m=n-1。 (4)G连通且m=n-1。 (5)G连通,但删去树中任意一条边,则变成不连通图。 (6)G连通且无回路,若在G中任意两个不邻接的结点中添加一条边,则构成的图包含唯一的回路。
定理16.2 设T是n阶非平凡的无向树,则T中至少有两片树叶。
定义16.2 设T是 无向图G的子图并且为树,若T是G的树且为生成子图,则称T是G的生成树。设T是G的生成树,∀e∈E(G),若e∈E(T),则称e为T的树枝,否则称e为T的弦。并称导出子图G[E(G)-E(T)]为T的余树,记做 。 4.3.2 生 成 树 定理16.3 无向图G具有生成树当且仅当G是连通图。
推论3 设T是连通图G的一棵生成树, 为T的余树,C为G中任意一个圈,则 推论1 设G为n阶m条边的无向连通图,则m≥n-1。 推论2 设G是n阶m条边的无向连通图,T为G的生成树,则T的余树中含有m-n+1条边(即T有m-n+1条弦)。
定理16.4 设T为无向连通图G中一棵生成树,e为T的任意一条弦,则T∪e中含G中只含一条弦其余边均为树枝的圈,而且不同的弦对应的圈也不同。 定义16.3 设T是n阶m条边的无向连通图G的一棵生成树,设e‘1,e’2,…,e‘m-n+1为T的弦,设Cr为T添加弦e’r产生的G中只含弦e‘r,其余边均为树枝的圈,称Cr为G的对应T的弦e’r的基本回路或基本圈,r=1,2,…,m-n+1。并称{C1,C2,…,Cm-n+1}为G对应T的基本回路系统,称m-n+1为G的圈轶,记做 。
定义16.4 设T是n阶连通图G的一棵生成树, e1,e2,…,en-1为T的树枝,Si是G的只含树枝e‘i的割集,则称Si为G的对应生成树T由树枝e’i生成的基本割集,i=1,2,…,n-1。并称{S1,S2,…,Sm-n+1}为G对应T的基本割集系统,称n-1为G的割集轶,记做 。 定理16.5 设T是连通图G的一棵生成树,e为T的树枝,则G中存在只含树枝e,其余边都是弦的割集,且不同的树枝对应的割集也不同。
定义16.5 设无向带权图G=<V,E,W>,T是G的一棵生成树。T的各边权之和称为T的权,记做W(T)。G的所有生成树中权最小的生成树称为G的最小生成树。
克鲁斯卡尔算法(避圈法): 设G=<V,E,W>是n阶无向连通带权图。 1、将m条边按权值从小到大顺序排列,设为e1,e2,e3,…,em; 2、取e1在T中; 3、依次检查e2,e3,…,em,若ei与已在T中的边不能构成回路,则取ei在T中,否则弃去,考虑ei+1; 4、若T中边的条数小于n-1条,重复执行步骤3,否则,算法结束,输出最小生成树T。
2 12 4 11 1 9 3 8 5 2 10 6 7 1 3 9 5 8 6 如例: 按权值对边进行排列为:1,2,3,4,5,6,7,8,9,10,11,12
图中的红线表示最小生成树的边 • Prim算法的基本思想是: • 1). 选择图G的一条权值最小的边e1; • 2). 假设G的一棵子树T已经确定; • 3). 选择G的不在T中的具有最小权值的边e,使得T{e}仍是G的一棵子树。 1 10 2 50 45 30 40 3 4 25 5 35 55 20 15 6