1、第七章 图一、选择题1图中有关路径的定义是( ) 。 【北方交通大学 2001 一、24 (2 分) 】A由顶点和相邻顶点序偶构成的边所形成的序列 B由不同顶点所形成的序列C由不同边所形成的序列 D上述定义都不是2设无向图的顶点个数为 n,则该图最多有( )条边。An-1 Bn(n-1)/2 C n(n+1)/2 D0 En 23一个 n 个顶点的连通无向图,其边的个数至少为( )。An-1 Bn Cn+1 Dnlogn;4要连通具有 n 个顶点的有向图,至少需要( )条边。An-l Bn Cn+l D2n5n 个结点的完全有向图含有边的数目( ) 。An*n n(n) Cn2 Dn*(nl)
2、6一个有 n 个结点的图,最少有( )个连通分量,最多有( )个连通分量。A0 B1 Cn-1 Dn7在一个无向图中,所有顶点的度数之和等于所有边数( )倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的( )倍。A1/2 B2 C1 D48用有向无环图描述表达式(A+B)*(A+B)/A) ,至少需要顶点的数目为( )。A5 B6 C8 D9 9用 DFS 遍历一个无环有向图,并在 DFS 算法退栈返回时打印相应的顶点,则输出的顶点序列是( )。A逆拓扑有序 B拓扑有序 C无序的 10下面结构中最适于表示稀疏无向图的是( ) ,适于表示稀疏有向图的是( ) 。A邻接矩阵 B逆邻接表
3、 C邻接多重表 D十字链表 E邻接表 11下列哪一种图的邻接矩阵是对称矩阵?( )A有向图 B无向图 CAOV 网 DAOE 网12 从邻接阵矩 01可以看出,该图共有()个顶点;如果是有向图该图共有() 条弧;如果是无向图,则共有()条边。A9 B3 C6 D1 E以上答案均不正确A5 B4 C3 D2 E以上答案均不正确A5 B4 C3 D2 E以上答案均不正确13当一个有 N 个顶点的图用邻接矩阵 A 表示时,顶点 Vi 的度是( ) 。Anij1,Bn1j,iCnij1,D nijA1,+ n1ji,14用相邻矩阵 A 表示图,判定任意两个顶点 Vi 和 Vj 之间是否有长度为 m 的
4、路径相连,则只要检查( )的第 i 行第 j 列的元素是否为零即可。AmA BA CA m DAm-1abed cf15. 下列说法不正确的是( ) 。A图的遍历是从给定的源点出发每一个顶点仅被访问一次 C图的深度遍历不适用于有向图B遍历的基本算法有两种:深度遍历和广度遍历 D图的深度遍历是一个递归过程16 无向图 G=(V,E),其中:V=a,b,c,d,e,f,E=(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d),对该图进行深度优先遍历,得到的顶点序列正确的是( ) 。Aa,b,e,c,d,f Ba,c,f,e,b,d Ca,e,b,c,f,d Da,e,
5、d,f,c,b17. 设图如右所示,在下面的 5 个序列中,符合深度优先遍历的序列有多少?( )a e b d f c a c f d e b a e d f c b a e f d c b a e f d b cA5 个 B4 个 C3 个 D2 个 第 17 题图 第 18 题图18.下图中给出由 7 个顶点组成的无向图。从顶点 1 出发,对它进行深度优先遍历得到的序列是( ),而进行广度优先遍历得到的顶点序列是( ) 。A1354267 B1347652 C1534276 D1247653 E以上答案均不正确A1534267 B1726453 Cl354276 D1247653 E以上答
6、案均不正确 19下面哪一方法可以判断出一个有向图是否有环(回路): A深度优先遍历 B. 拓扑排序 C. 求最短路径 D. 求关键路径20. 在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为( )。A. O(n) B. O(n+e) C. O(n2) D. O(n3)21. 下面是求连通网的最小生成树的 prim 算法:集合 VT,ET 分别放顶点和边,初始为( 1 ) ,下面步骤重复 n-1 次: a:( 2 ) ;b:( 3 ) ;最后:( 4 ) 。(1) AVT,ET 为空 BVT 为所有顶点,ET 为空CVT 为网中任意一点,ET 为空 DVT 为空,ET 为网中所
7、有边(2) A. 选 i 属于 VT,j 不属于 VT,且(i,j)上的权最小B选 i 属于 VT,j 不属于 VT,且(i,j)上的权最大C选 i 不属于 VT,j 不属于 VT,且(i,j)上的权最小D选 i 不属于 VT,j 不属于 VT,且(i,j)上的权最大(3) A顶点 i 加入 VT, (i,j)加入 ET B. 顶点 j 加入 VT, (i,j)加入 ETC. 顶点 j 加入 VT, (i,j)从 ET 中删去 D顶点 i,j 加入 VT, (i,j)加入ET(4) AET 中为最小生成树 B不在 ET 中的边构成最小生成树CET 中有 n-1 条边时为生成树,否则无解 DET
8、 中无回路时,为生成树,否则无解22. (1). 求从指定源点到其余各顶点的迪杰斯特拉(Dijkstra)最短路径算法中弧上权不能为负的原因是在实际应用中无意义;(2). 利用 Dijkstra 求每一对不同顶点之间的最短路径的算法时间是 O(n3 ) ;(图用邻接矩阵表示)(3). Floyd 求每对不同顶点对的算法中允许弧上的权为负,但不能有权和为负的回路。上面不正确的是( ) 。A(1),(2),(3) B(1) C(1),(3) D(2),(3)23当各边上的权值( )时,BFS 算法可用来解决单源最短路径问题。A均相等 B均互不相等 C不一定相等24. 求解最短路径的 Floyd 算
9、法的时间复杂度为( )。AO(n) B. O(n+c) C. O(n*n) D. O(n*n*n)25已知有向图 G=(V,E),其中 V=V1,V2,V3,V4,V5,V6,V7,E=,G 的拓扑序列是( ) 。AV 1,V3,V4,V6,V2,V5,V7 BV 1,V3,V2,V6,V4,V5,V7CV 1,V3,V4,V5,V2,V6,V7 DV 1,V2,V5,V3,V4,V6,V726若一个有向图的邻接距阵中,主对角线以下的元素均为零,则该图的拓扑有序序列( ) 。 A存在 B不存在27一个有向无环图的拓扑排序序列( )是唯一的。A一定 B不一定28. 在有向图 G 的拓扑序列中,若
10、顶点 Vi 在顶点 Vj 之前,则下列情形不可能出现的是( ) 。 AG 中有弧 BG 中有一条从 Vi 到 Vj 的路径 CG 中没有弧 DG 中有一条从 Vj 到 Vi 的路径 29. 在用邻接表表示图时,拓扑排序算法时间复杂度为( )。A. O(n) B. O(ne) C. O(n*n) D. O(n*n*n) 30. 关键路径是事件结点网络中( ) 。A从源点到汇点的最长路径 B从源点到汇点的最短路径C最长回路 D最短回路31. 下面关于求关键路径的说法不正确的是( ) 。A求关键路径是以拓扑排序为基础的B一个事件的最早开始时间同以该事件为尾的弧的活动最早开始时间相同C一个事件的最迟开
11、始时间为以该事件为尾的弧的活动最迟开始时间与该活动的持续时间的差D关键活动一定位于关键路径上32下列关于 AOE 网的叙述中,不正确的是( ) 。A关键活动不按期完成就会影响整个工程的完成时间B任何一个关键活动提前完成,那么整个工程将会提前完成C所有的关键活动提前完成,那么整个工程将会提前完成D某些关键活动提前完成,那么整个工程将会提前完成二、判断题1.树中的结点和图中的顶点就是指数据结构中的数据元素。 ( )2在 n 个结点的无向图中,若边数大于 n-1,则该图必是连通图。 ( )3对有 n 个顶点的无向图,其边数 e 与各顶点度数间满足下列等式 e=niViTD1)(。( )4. 有 e
12、条边的无向图,在邻接表中有 e 个结点。 ( )5. 有向图中顶点 V 的度等于其邻接矩阵中第 V 行中的 1 的个数。 ( )6强连通图的各顶点间均可达。 ( )7强连通分量是无向图的极大强连通子图。 ( )8连通分量指的是有向图中的极大连通子图。 ( )9邻接多重表是无向图和有向图的链式存储结构。 ( )10. 十字链表是无向图的一种存储结构。 ( )11. 无向图的邻接矩阵可用一维数组存储。 ( )12用邻接矩阵法存储一个图所需的存储单元数目与图的边数有关。 ( )13有 n 个顶点的无向图, 采用邻接矩阵表示, 图中的边数等于邻接矩阵中非零元素之和的一半。 ( )14. 有向图的邻接矩
13、阵是对称的。 ( )15无向图的邻接矩阵一定是对称矩阵,有向图的邻接矩阵一定是非对称矩阵。 ( )16. 邻接矩阵适用于有向图和无向图的存储,但不能存储带权的有向图和无向图,而只能使用邻接表存储形式来存储它。 ( )17. 用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小与图中结点个数有关,而与图的边数无关。 ( )18一个有向图的邻接表和逆邻接表中结点的个数可能不等。 ( )19需要借助于一个队列来实现 DFS 算法。( ) 20. 广度遍历生成树描述了从起点到各顶点的最短路径。 ( )21任何无向图都存在生成树。 ( )22. 不同的求最小生成树的方法最后得到的生成树
14、是相同的.( )23带权无向图的最小生成树必是唯一的。( )24. 最小代价生成树是唯一的。 ( )25一个网(带权图)都有唯一的最小生成树。 ( )26连通图上各边权值均不相同,则该图的最小生成树是唯一的。 ( )27带权的连通无向图的最小(代价)生成树(支撑树)是唯一的。 ( )28. 最小生成树的 KRUSKAL 算法是一种贪心法(GREEDY) 。 ( )29. 求最小生成树的普里姆(Prim)算法中边上的权可正可负。 ( )三、填空题1.判断一个无向图是一棵树的条件是_。2有向图 G 的强连通分量是指_。3一个连通图的_是一个极小连通子图。4具有 10 个顶点的无向图,边的总数最多为
15、_。5若用 n 表示图中顶点数目,则有_条边的无向图成为完全图。6. 设无向图 G 有 n 个顶点和 e 条边,每个顶点 Vi 的度为 di(10)OR(p0 THENp:=stacktop; top:=top-1; (4)_ENDP. 46n 个顶点的有向图用邻接矩阵 array 表示,下面是其拓扑排序算法,试补充完整。注:(1) 图的顶点号从 0 开始计; (2) indegree 是有 n 个分量的一维数组,放顶点的入度;(3) 函数 crein 用于算顶点入度; (4) 有三个函数 push(data),pop( ),check( )其含义为数据 data 进栈,退栈和测试栈是否空(不
16、空返回 1,否则 0) 。crein( array ,indegree,n) for (i=0;i, , , , , , , , (1) 画出这个逻辑结构的图示。 (3 分)(2) 相对于关系 r, 指出所有的开始接点和终端结点。 (2 分)(3) 分别对关系 r 中的开始结点,举出一个拓扑序列的例子。 (4 分)(4) 分别画出该逻辑结构的正向邻接表和逆向邻接表。 (6 分)9有向图的邻接表存储如下:(1) 画出其邻接矩阵存储;(2) 写出图的所有强连通分量;(3) 写出顶点 a 到顶点 i 的全部简单路径。10试用下列三种表示法画出网 G 的存储结构,并评述这三种表示法的优、缺点:(1)
17、邻接矩阵表示法; (2) 邻接表表示法; (3) 其它表示法。11已知无向图 G,V(G)=1,2,3,4,E(G)=(1,2) , (1,3) , (2,3) , (2,4) ,(3,4)试画出 G 的邻接多表,并说明,若已知点 I,如何根据邻接多表找到与 I 相邻的点 j?12如何对有向图中的顶点号重新安排可使得该图的邻接矩阵中所有的 1 都集中到对角线以上?13假定(V,E)是有向图,V1,2, ,N ,N1,G 以邻接矩阵方式存储,G的邻接矩阵为 A,即是一个二维数组,如果 i 到 j 有边,则 Ai,j=1,否则 Ai,j=0,请给出一个算法,该算法能判断 G 是否是非循环图(即 G
18、 中是否存在回路) ,要求算法的时间复杂性为 O(n*n)。 14 首先将如下图所示的无向图给出其存储结构的邻接链表表示,然后写出对其分别进行深度,广度优先遍历的结果。 15下面的邻接表表示一个给定的无向图 (1)给出从顶点 v1 开始,对图 G 用深度优先搜索法进行遍历时的顶点序列;(2)给出从顶点 v1 开始,对图 G 用广度优先搜索法进行遍历时的顶点序列。15 题图 14 题图 16 题图16给出图 G:(1) 画出 G 的邻接表表示图;(2) 根据你画出的邻接表,以顶点为根,画出 G 的深度优先生成树和广度优先生成树。17设 G=(V,E)以邻接表存储,如图所示,试画出图的深度优先和广度优先生成树。36 75 894213105 784216912345 1341241232423455