离散数学习题解答第6部分图论.docx
- 文档编号:11178267
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:44
- 大小:516.56KB
离散数学习题解答第6部分图论.docx
《离散数学习题解答第6部分图论.docx》由会员分享,可在线阅读,更多相关《离散数学习题解答第6部分图论.docx(44页珍藏版)》请在冰豆网上搜索。
离散数学习题解答第6部分图论
离散数学习题解答
习题六(第六章图论)
1.从日常生活中列举出三个例子,并由这些例子自然地导出两个无向图及一个向图。
[解]①用V代表全国城市的集合,E代表各城市间的铁路线的集合,则所成之图G=(V,E)是全国铁路交通图。
是一个无向图。
②V用代表中国象棋盘中的格子点集,E代表任两个相邻小方格的对角线的集合,则所成之图G=(V,E)是中国象棋中“马”所能走的路线图。
是一个无向图。
③用V代表FORTRAN程序的块集合,E代表任两个程序块之间的调用关系,则所成之图G+(V,E)是FORTRAN程序的调用关系图。
是一个有向图。
2.画出下左图的补图。
a
a
图
[解]左图的补图如右图所示。
v6
v1
3.证明下面两图同构。
图G′
图G
v5
v4
v3
v2
[证]存在双射函数:
V→V′及双射函数:
E→E′
(v1)=v1′(v1,v2)=(v1′,v2′)
(v2)=v2′(v2,v3)=(v2′,v3′)
(v3)=v3′(v3,v4)=(v3′,v4′)
(v4)=v4′(v4,v5)=(v4′,v5)
(v5)=v5′(v5,v6)=(v5′,v6′)
(v6)=v6′(v6,v1)=(v6′,v1′)
(v1,v4)=(v1′,v4′)
(v2,v5)=(v2′,v5′)
(v3,v6)=(v3′,v6′)
显然使下式成立:
(vi,vj)=(vi,vj′)(vi)=vi′∧(vj)=vj′
(1≤i·j≤6)
于是图G与图G′同构。
4.证明(a),(b)中的两个图都是不同构的。
G
G′
G
G′
图G中有一个长度为4的圈v1v2v6v5v1,其各顶点的度均为3点,而在图G′中却没有这样的圈,因为它中的四个度为3的顶点v1,v5,v7,v3不成长度的4的圈。
图G中′有四个二度结点,v6,v8,v4,它们每个都和两个三度结点相邻,而G中一个区样的结点都没有。
在(b)中,图G中有一2度结点v3,它相邻的两个项点v2,v4的度均为4,而在图G中却没有这样的点。
5.一个图若同构于它的外图,则称此图为自补图。
在满足下列条件的无向简单图中:
1)给出一个五个结点的自补图;
2)有三个或一结点的自补图吗?
为什么?
3)证明:
若一个图为自补图,则它对应的完全图的边数不清必然为偶数。
[解]1)五个结点的自补图如左图G所示
同构函数:
V→V及:
E→
如下:
(a)=a(a,b)=(a,c)
(b)=c(b,c)=(c,e)
(c)=e(c,d)=(e,d)
(d)=b(d,e)=(b,d)
(e)=d(e,a)=(d,a)
2)(a)没有三个结点的自补图。
因为三个结点的完备图的边数为
=3为奇数,所以由下面3)的结论,不可能有自补图。
(b)有五个结点的自补图。
1)中的例子即是一个五个结点的自补图。
3)证:
一个图是一个自补图,则它对应的完全图的边数必为偶数。
因为若一个图G是自补图,则G∪
=对应的完全图,而且E∩
=φ,G现
同构,因此它们的边数相等,即|E|=|
|,因此对应的完全图的边数|E*|=|E|+|
|=2|E|,是偶数。
实际上,n个项点(n>3)的自补图G,由于其对应的完全图的边数|E*|=
,因此有
=2|E|,为偶数。
这里n≥4。
对于所有大于或等于4的正整数,都可表达成n=4k,4k+1,4k+2,4k+3的形式,这里k=1,2,…。
其中只有n=4k,4k+1,才能使
为偶数,所以自补图的项点数只能是4k或4k+1形式,(k∈N)
6.证明在任何两个或两个以上人的组内,总存在两个人在组内有相同个数的朋友。
[证]令上述组内的人的集合为图G的项点集V,若两人互相是朋友,则其间联以一边。
所得之图G是组内人员的朋友关系图。
显然图G是简单图,图中项点的度恰表示该人在组内朋友的个数,利用图G,上述问题就抽象成如下的图认论问题:
在简单图G中,若|V|≥2,则在G中恒存在着两个项点,v1,v2∈V,使得它们的度相等,即deg(v1)=deg(v2)。
其证明如下:
若存在着一个项点v∈V,使得deg(v)=0,则图G中各项点的度最大不超过n-2。
因此n个项点的度在集合{0,1,2,…,n-2}里取值,而这个集合只有n-1个元素,因此,根据鸽笼原理,必有两个项点的度相同。
若不存在一个度为零的项点,则图G中各项点的度最大不超过n-1。
因此n个项点的度在集合{1,2,…,n-1}中取值,这个集合只有n-1个元素,因此,根据鸽笼原理,必有两具项点的度相同。
7.设图G的图示如右所示:
1)找出从A到F的所有初级路;
2)找出从A到F的所有简单路;
3)求由A到F的距离。
[解]1)从A到F的初级路有7条
P1:
(A,B,C,F),P2(A,B,C,E,F),P3:
(A,B,E,F)
P4:
(A,B,E,C,F),P5:
(A,D,C,E,F),P6:
(A,D,E,C,F)
P7:
(A,D,E,B,C,F)。
2)从A到F的简单路有9条
除了上述1)中7条外,不有P8:
(A,D,E,C,B,E,F)
P9:
(A,D,E,B,C,E,F)。
3)从A到F的距离为3。
由图可看出,显然从A到F,一步不可能到达,二步也不可到达;但有长度为3的路,比如P1,P3,P5等能从A到F,故从A到F的距离为3。
8.在下面的图中,哪此是边通图?
哪些是简单图?
(a)(b)(c)
[解]
(1)图
(2)与图(b)不连通,它们能分成两个边通支。
所以只有图(c)是连能图。
(2)图(c)是简单图,图为它显然无平等边,无自环。
图(a)、(b)是多重图(a)有平行边(b)有自环。
9.求出所有具有四个结点的简单无向连通图。
[解]在不同构的意义下,具有四个结点的简单无向连通图共有6个。
如下面所示:
G1
G2
G3
G4
G5
G6
G6
G5
G4
G2
(实际上,具有四个结点的简单图共有11个,这可由P
定理得证。
参见卢开澄的《组合数学一算法与分析》上册P241-P244)。
10.设G是一个简单无向图,且为(n,m)图,若
证明G是连通图。
[证]用反证法。
假若简单无向图G不是连通图,那么G必可成K(≥2)个连通分支G1,G2,…,Gk,每个连通分支Gi(1≤i≤k)都是一个简单无向图,因此它们分别为(n1,m1),(n2,m2),…(nk,mk)图显然有n=n1+n2+…nk,m=m1+m2+…mk,且ni≤n-1(1≤i≤k)于是有
m=m1+m2+…mk
=(n-1)·
·((n1-1)+(n2-1)+…+(nk-1))
=
(n-1)((n1+n2+…+nk)-k)
=
(n-1)(n-k)
≤
(n-1)(n-2)(k≥2)
这与已知M>
(n-1)(n-2)矛盾。
因此假设错误,G是连通图。
11.设G=(V,E)是无向完全图(无自环),|V|=n
1)求G中有多少初级圈?
2)设e∈E,求含有e的初级圈有几个?
3)设u,v∈V,u≠v,求由u到v有几条初级路?
[解]1)在一个有n个结点的无向完全图(无自环)中,构成一个初级圈,至少需3个结点,至多有n个结点,故G中初级圈的个数为
即将从n个结点中选出的k个结点进行排列,然后除去重复:
每个排列的倒排列(除2);长为k的圈排列可形成k个线排列(除k)。
2)含有边e的初级圈为
即,从u到v的直接边(完全图,该边存在)是一条;再将该直接边加到其它初级路里,就构成了含边(u,v)的初级圈,从而由2)可得如上数值。
12.试证在简单有向图中
1)每个结点及每条边都属于且只属于一个弱分图;
2)每个结点及每条边都至少属于一个单向分图。
[证]1)有向图中的弱连通性建立了G中结点集合V上的等价关系,因此构成了V上的一个划分;同时,还建立了边集上的一个划分。
因此,每一个弱连通支就是一个“划分块”。
设G1,G2,…,Gk为G的所有弱连通分图,则有:
V(G)=V(G1)∪V(G2)…∪V(Gk)
E(G)=E(G1)∪E(G2)…∪E(Gk)
并且,当i≠j时,V(Gi)∩V(Gj)=φ,E(Gi)∩E(Gj)=φ。
因此,每个结点及每条边都属于且只属于一个弱图。
2)有向图中的单向连通性建立了G中结点集合V上的一个相容关系,因此构成了V上的一个覆盖;同时,还建立了边集上的一个覆盖;每一个单向分图就是一个“覆盖快”。
设G1,G2…,Gk为G的所有单向分图,则有
V(G)=V(G1)∪V(G2)∪…∪V(Gk)
E(G)=E(G1)∪E(G2)∪…∪E(Gk)
因此,每个结点及每条边都至少属于一个单向分图。
13.试用有向图描述出下述问题的解法路径:
某人m带一条狗d,一只猫c和一只兔子r过河,没有船,他每次游过河时只能带一只动物,当没有人管理时狗和兔子不能相处,猫和兔子也不能相处。
在这些条件的约束下,他怎样才能将这三只动物从北岸带往南岸?
[解]将人,狗,兔中任意几种在一起的情况看作是一种状态;一个布局是一个二元组,由两个互补的状态构成,二元组的前者表示河北岸的状态,后者表示河南岸的状态。
初始布局为(pdcr,φ),终止布局为(φ,pdcr)安全布局有十种,不安全布局有六种,它们是:
(dr,pc),(cr,pd),(dcr,p),
(pc,dr),(pd,cr),(p,dcr)。
按题意构造有向图,其解法路径如下:
14.求下列图中的所有强连通支,单向连通支,弱连通支。
[解]1)有六个强连通支,它们是:
G1=({v1,v2,v3,v9,v10},{(v1,v2),(v2,v9),(v9,v10),(v10,v1),(v2,v3),(v3,v9)})
G2=({v4},φ),G3=({v8},φ),G4=({v7},φ),
G5=({v5},{(v5,v5)}),G6=({v6},φ)。
2)有四个单向连通支,它们是:
G1=({v1,v2,v3,v4,v9,v10},{(v1,v2),(v2,v9),(v9,v10),(v10,v1),(v2,v3),(v3,v9),(v3,v4)}),
G2=({v4,v7,v8},{(v7,v8),(v8,v4)}),
G3=({v5},{v5,v5}),G4=({v6},φ)
3)有三个弱连通支,它们是
G1=({v1,v2,v3,v4,v7,v8,v9,v10},{(v1,v2),(v2,v9),(v9,v10),(v10,v1),(v2,v3),(v3,v9),(v3,v4),(v7,v8),(v8,v4)})
G2=({v5},{(v5,v5)}),G3=({v6,φ})
15.给出有向图如下所示:
1)求它的邻接矩阵A;
2)求A2,A3,A4,指出从v1到v4长度为1,2,3,4的路径各有几条?
3)求AT,ATA,AAT,说明ATA和AAT中元素(2,3)和(2,2)的意义;
4)求A
(2),A(3),A(4)及可过矩陈R;
5)求出强度通支。
[解]1)它的邻接矩阵
从v1到v4长度为1的路有1条,是(v1,v4);
从v1到v4长度为2的路有1条,是(v1,v2),(v2,v4);
从v1到v4长度为3的路有2条,是:
(v1,v2),(v2,v8),(v3,v4);
(v1,v4),(v4,v2),(v2,v4)。
从v1到v4长度为4的路有3条,是:
(v1,v2),(v2,v3),(v3,v2),(v2,v4);
(v1,v2),(v2,v4),(v4,v2),(v2,v4);
(v1,v4),(v4,v2),(v2,v3),(v3,v4);
3)
AT=
在ATA中,元素(2,3)=0的意义是:
不存在着这样的结点,从它发出的边同时终止于结点v2及v3;
在ATA中,元素(2,3)=3的意义是:
(v2)=3,即结点v2的入度为3。
在AAT中,元素(2,3)=1的意义是:
存在着一个结点,v4从v2及v3发出的边同时终之于它;
在AAT中,元素(2,2)=2的意义是:
(v2)=2,即结点v2的出度为2。
4)
5)·强连通支为
G1=({v1},φ)
G2=({v2,v3,v4},{(v2,v3),(v2,v4),(v3,v2),(v3,v4),(v4,v2)})
16.利用Dijkstra算法,求出下面图中从u到v的所有最短路径及路径长度。
(1)
从u到v的最短路径共有三条:
P1=(u,u1,u3,u4,v)
P2=(u,u1,u2,u3,u5,u6,v)
P3=(u,u12,u2,u3,u6,v)
P4=(u,u1,u2,u3,u5,u8,u6,v)
P5=(u,u7,u8,u6,v)
从u到v的最短路长为:
W(P1)=W(P2)=W(P3)=15。
(2)
a
a
17.在Dijjkstra算法中,增加一个记忆系统,使得此算法不仅能给出从u到v的最短路的路长,而且可以给出一条最短路径。
[解]观察Dijkstra算法的N02,容易看出每当确定出一个新的标记点t0时,由初始结点u到结点t0的最短路就可以确定下来了(但可能不唯一)。
因而,该路中心至少有一点P。
直接与结点t0相邻。
故此,修正的算法如下:
算法一:
在确定从结点u到结点v的最短路的路长的同时,
No1.P:
={u};T:
=V\P;S(u):
=[u];d(u):
=0;
(t∈T)(d(t):
=∞)
No2.(t∈T)(d(t):
=
{d(t),d(P)+W(P,t)};
(t0∈T)(t∈T)(d(t0)≤d(t));
(P0∈P)(d(t0)=d(p0)+W(p0,t0));
S(t0):
=[S(p0)|t0];(表结构)
No3.P:
=PU{t0};T:
=T\{t0};mark(t0):
=d(t0)
No4.ift0=vthenexitelsegotoNo2;
我们也可以采用回溯方法。
算法二:
在Dijkstra算法之后增加一个回溯系统,求出一条从u到v的最短路径。
No1.P:
={u};T:
=V\P;d(u):
=0;(t∈T)(d(t):
=∞);
No2.(t∈T)(d(t):
=
{d(t),d(p)+w(p,t)});
(t0∈T)(t∈T)(d(t0)≤d(t));
No3.P:
=PU{t0};T:
=T\{t0};mar(t0):
=d(t0)
No4.S:
=[v];g:
=v
No5.(p∈P)(d(p)=d(g)=W(p,q));
s:
=[p|s];
q:
=p;
No6.ifg=uthenexitelsegotoNo3
以上两种算法都直接给出了从结点u到结点v的最短路径。
但是,算法一的记忆比较庞大,而算法二又重复了Dijkstra算法中的一些判断过程。
我们综合以上两种算法,又有如下
算法三:
在求出从结点u到结点v的最短路径之间各结点的最短长度d值以及前驱结点(紧前结点)
No1.P:
={u};T:
=V\P;d(u):
=0;(t∈T)(d(t):
=∞);
No2.(t∈T)(d(t):
=
{d(t),d(p)+w(p,t)});
(t0∈T)(t∈T)(d(t0)≤d(t));
(p∈P)(d(p)=d(p0)+w(p0,t0));
No3.P:
=PU{t0};T:
=T\{t0};mark(t0):
=(p0,d(t0));
No4.ift0=vthenexitelsegotoNo2;
算法三并未直接给出从结点u到结点v的最短路径,但它的记忆系统比较简单,计算方便。
要给出从结点u到v的最短路经时,只要从终步v开始,根据标记的第一个分量,向前回溯即可得到。
18.判断下列图示能否一笔画。
b
a
a
[解]根据本章§2定理2:
图中奇结点的个数是偶数。
所以奇结点的个数为2k,当k=0,1时,此图是一笔画的,而当k>1时,则此图是k笔画的。
于是
图(a),不是一笔画,因为它的奇结点为四个(用
表示);
图(b),(c)都是一笔画,因为它的奇结点是二个;
19.设G是有向图,证明G是Euler图的充要条件是:
G是强连通的,且G中每一结点的进度等于出度。
[证]必要性
若G是Euler图,则G中含有有向Euler圈,并且G中无狐立点,从而G中每个结点都与一条有向边相连。
由于每条向边都必须在有向Euler圈上,因此每个结点也都在有向Euler圈上,所以从任一结点出发都可到达另一任意结点,故此G是强连通的。
而且,又由于每条有向边只能在有向Euler圈中出现一次,于是每一个结点,有一边进来,就应有一边出去,再有一边进来,就应再有一边出来;这样,每一结点的进度必然等于度。
充分性
因为G是强连通的,故G中任何两个结点都可互相到达,因此G中存在着有向简单圈。
不妨设C是G中长度最长的有向简单圈套,则C必是G中的有向Euler圈,从而G是Euler图。
否则,必有边e不在圈C中,但e的一个端点在C上,不然的话,则图G一定不强连通,这和已知条件矛盾。
由于对于图G中每个点v,
(u)=
(u),并且C是一个有向圈,从而对图G1=(V(G),E(G)\C)仍有=
(u)=
(u),故此在G1中一定存在含有e的有向圈C1中一定存在含e的有向圈C1,C∪C1显然仍是G中的有向圈,且此有向圈的长度大于C的长度,这和C是G中最长的有向圈的假定相矛盾,故C一定是G中的有向Euler圈。
这个有向Euler圈C可利用一个算法给出:
No1.以G中任一结点出发,沿着有向边走
成一个圈,而且是简单圈套;
No2.若此圈已是有向Euler圈,出口;
No3.否则,除此圈外,必仍有若于边不在其中,这些边中至少有一条边以引中至少有一条边以此圈中的某一结点为起点,以这个结点为起点走出一个圈(这个别圈不应含原圈中的任一边,并且是一简单圈);
No4.将此圈插入原圈中,得到一个新的长度更长的简单圈,然后gotoNo2.
20.设G是连通的无向图,且有2k>0奇结点。
证明:
在G中存在k条边不重的简单路G1,C2,C3…Ck,使
E(G)=E(C1)∪E(C2)∪E(E3)∪…∪E(Ck)
[证]设v1,v2,…,vk,vk+1…,v2k为G中的2k个奇结点,在vi和vi+k两个结点间连以新边ei*(i=1,2,…,k),所得之图记为G*,则G*的每个结点的度均为偶数,又由于G连通,则G*也是连通的,根据Euler定理,知在G*中存在Euler圈C*。
若我们从C*中除去这k条新边ei*(i=1,2,…,k),则C*就分解成k条边不重的简单路C1,C2,C3…Ck,并且显然有E(G)=E(C1)∪E(C2)∪E(C3)…∪E(Ck)。
21.构造一个长度为16的DeBruijn序列。
[解]我们定义一个有向图D4如下:
D4的项点是3位二进制数p1p2p3,其中pi=0或1。
存在一条以项点p1p2p3为起点,以项点q1q2q3为终点的向边(p1p2p3,q1q2q3)当且仅当p2=q,p3=q2。
另外,D4的每条有向边(p1p2p3,p2p3p4)上都标以四位二进制数p1p2p3p4。
D4如下图1所示:
显然,D4是连通的,并且D4的每个项点都具有入度2和出度过2,故由有向图的Euler定理,知D4中存在着一条有向Euler圈,这条有向Euler圈从图1可容易得到为
a1,a2,,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16。
它可看作是D4的弧的序列,它产生一个长为24=16位二进制数0000111100101101(它恰好是由ai(i=
)的第一位数字组成),和鼓轮表面的设计要求符合。
用这个16位二进制数设计的鼓轮如图2所示:
这个16位二进制数就是要求的长度为16的DeBruijn序列。
图1
弧标号
a10000
a20001
a30011
a40111
a51111
a61110
a71100
a81001
a90010
a100101
a111011
a120110
a131101
a141010
a150100
a161000
图2
22.1)画一个图示,使它既有一条E-圈,又有一条H—圈;
2)画一个图示,使它有一条E—圈,但没有一条H—圈;
3)画一个图示,使它没有一条E—圈,但有一条H—圈;
4)画一个图示,使它既没有一条E—圈,又没有一条H—圈;
[解](a)图1既有E-圈,又有H圈。
(b)图2有E-圈,但没有H-圈。
(c)圈3有H-圈,但没有E-圈。
(d)图4既没有E-圈,又没有H-圈。
图4
图3
图2
图1
图2不存在H-圈,是因为存在着S={中间点},使W(G\S)=2个连通支数,而|S|=1,从而W(G\S)≰|S|故由定理1判定H-图的必要条件可知不存在H-圈。
图3不存在E—圈,是因为G中存在8个结点的度均为3,是奇数。
图4中不存在H—圈,因为G是一个偶图(二分图),而偶图要有圈,必须结点数为偶数(即|X|=|Y|,|V|=|X|+|Y|=2|X|),而G的结点数为11个,是奇数,不是偶数。
23.若G=(V,E)有Hamilton路,证明对V中任一非空子集S,均有W(G\S)|S|+1。
[证]设G=(V,E)中的Hamilton路为C,路的两个端点为v1,及v2。
我们给G增加一个新结点,v*及两个新边(v*,v1)和(v*,v2)而得到图G*,于是G*中就有Hamilton圈G*(它由Hamilton路C及关联新点v*的两个新边构成)。
令S*=S∪{v*},则显然有G\S=G*\S*。
从而根据定理1有Hamiltou圈的必要条件,有
W(G\S)=W(G*\S*)≤|S*|=|S|+1。
24.雄辩地证明下面的图示中没有Hamilton路。
图2
图1
[证]
(1)将图1标记为图3。
图3中存在着Hamilton路,此如H=(b,c,h,g,k,i,d,e,a,f,j)
但是,图3中不存在Hamilton圈。
因为,结点e,j均为2度结点,故若Hamilto圈,则引H-必通过e,j及其关联的四条边,因此在边(a,e)及(f,j)上各增加一个结点l,m,得到图4,显然,图1,即图3有H-圈当且仅当图4有H-圈。
取S={a,e,l,g,i,c},则G\S={m,f,j,k,b,h,d}这7个孤立点,因此W(G\S)=7,而|S|=6,故此有
W(G\S)≰|S|
根据定理1,有H-圈的必要条件,知图4中没有H-圈,因此图中没有H-圈。
(2)图2中不存在H路。
证法一:
将图中偶结点全标为A,奇结点全标为B,取S={偶结点}则G\S为8个孤立奇结点,于是W=8,而|S|=6。
从而有W(G
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 离散数学 习题 解答 部分