1、计算机专业基础综合(图)模拟试卷 3 及答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 下面是一个求最小生成树的算法,其中 G 是连通无向图, T 是所求的生成树。T:=G:While T 中存在回路 dobegin 在 T 中找一条权值最大的边 e;T:=T 一e; (T 中去掉 e 边)EnD试问该算法是哪一种求最小生成树的算法?( )(A)Prim(普里姆)算法(B) Kruskal(克鲁斯卡尔算法)(C)罗巴赫算法(D)其他算法2 邻接表是图的一种( ) 。(A)顺序存储结构(B)链接存储结构(C)索引
2、存储结构(D)散列存储结构3 下面试图对图中路径进行定义,说法正确的是( )。(A)由顶点和相邻顶点序列构成的边所形成的序列(B)由不同顶点所形成的序列(C)由不同边所形成的序列(D)上述定义都不是4 无向图中顶点个数为 n,那么边数最多为( )。(A)n-1(B) n(n 一 1)2(C) n(n+1)2(D)n 25 在一个具有 n(n0)个顶点的连通无向图中,至少需要的边数是( )。(A)n(B) n+1(C) n-1(D)n26 以下叙述中正确的是( )。I对有向图 G,如果以任一顶点出发进行一次深度优先或广度优先搜索能访问到每个顶点,则该图一定是完全图连通图的广度优先搜索中一般要采用
3、队列来暂存访问过的顶点图的深度优先搜索中一般要采用栈来暂存访问过的顶点(A)I,(B) ,(C) I,(D)I,7 带权有向图 G 用邻接矩阵 A 存储,则顶点 i 的入度等于 A 中( )。(A)第 i 行非的元素之和(B)第 i 列非的元素之和(C)第 i 行非且非 0 的元素个数(D)第 i 列非且非 0 的元素个数8 在一个无向图中,所有顶点的度之和等于边数的( )倍。(A)12(B) 1(C) 2(D)49 采用邻接表存储的图的深度优先遍历算法类似于二叉树的( )算法。(A)前序遍历(B)中序遍历(C)后序遍历(D)按层遍历10 任何一个无向连通图( )最小生成树。(A)只有一棵(B
4、)有一棵或多棵(C)一定有多棵(D)可能不存在11 判断有向图是否存在回路,除了可以利用拓扑排序方法外,还可以利用的是( )。(A)求关键路径的方法(B)求最短路径的迪杰斯特拉方法(C)深度优先遍历算法(D)广度优先遍历算法12 有 n 个顶点 e 条边的无向图,采用邻接表存储时,有( )个表头结点,有( )个链表结点。(A)n,2e(B) n,2e+1(C) n-1,2e(D)n-1 ,2e+113 对于由 n 个顶点组成的有向完全图来说,图中共包含( )条边,对于由 n 个顶点组成的无向完全图来说,图中共包含( )条边。(A)n,n(n 一 1)(B) n,n(n 一 1)2(C) 2n,
5、n(n 一 1)(D)n(n 1),n(n1)214 在一个( ) 图中寻找拓扑序列的过程称为( ) 。(A)有向,拓扑排序(B)无向,拓扑排序(C)有向,最短路径搜索(D)无向,最短路径搜索15 用邻接矩阵 A 表示图,判定任意两个顶点 vi 和 vj,之间是否有长度为 m 的路径相连,则只要检查( ) 的第 i 行第 j 列的元素是否为零即可。(A)mA(B) A(C) Am(D)Am-116 当各边上的权值( ) 时,BFS 算法可用来解决单源最短路径问题。(A)均相等(B)均互不相等(C)不一定相等(D)不确定17 下面关于图的存储结构的叙述中正确的是( )。(A)用邻接矩阵存储图占用
6、空间大小只与图中顶点数有关,与边数无关(B)用邻接矩阵存储图占用空间大小只与图中边数有关,与顶点数无关(C)用邻接表存储图占用空间大小只与图中顶点数有关,与边数无关(D)用邻接表存储图占用空间大小只与图中边数有关,与顶点数无关二、综合应用题41-47 小题,共 70 分。18 证明:具有 n 个顶点和多于 n 一 1 条边的无向连通图 G 一定不是树。19 证明:对有向图的顶点适当地编号,可使其邻接矩阵为下三角形且主对角线为全 O 的充要条件是该图为无环图。20 关于图(Graph) 的一些问题:(1)有 n 个顶点的有向强连通图最多有多少条边?最少有多少条边?(2)表示有 1 000 个顶点
7、、1 000 条边的有向图的邻接矩阵有多少个矩阵元素?是否为稀疏矩阵?21 如何对有向图中的顶点号重新安排可使得该图的邻接矩阵中所有的 1 都集中到对角线以上?22 假定图 G=(V,E)是有向图,V=1 ,2,N ,N1,G 以邻接矩阵方式存储,G 的邻接矩阵为 A,即 A 是一个二维数组。如果 i 到 j 有边,则 Ai,j=1 ,否则Ai,j=0。请给出一个算法思想,该算法能判断 G 是否是非循环图(即 G 中是否存在回路),要求算法的时间复杂性为 D(n2)。23 对一个图进行遍历可以得到不同的遍历序列,那么导致得到的遍历序列不唯一的因素有哪些?24 G=(V,E)是一个带有权的连通图
8、,如图所示。 (1)什么是 G 的最小生成树? (2)G 如图所示,请找出 G 的所有最小生成树。计算机专业基础综合(图)模拟试卷 3 答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 【正确答案】 B【试题解析】 由算法可以看出使用的是 Kruskal 算法。【知识模块】 图2 【正确答案】 B【试题解析】 图的邻接表存储结构是一种链接存储结构。【知识模块】 图3 【正确答案】 A【试题解析】 由图的定义可知,B 与 C 是错误的。【知识模块】 图4 【正确答案】 B【试题解析】 无向图中有 n 个顶点,如果每
9、两个顶点之间均是相互连通的,那么此时无向图中的边数最多,为 n(n 一 1)2。【知识模块】 图5 【正确答案】 C【试题解析】 在无向图中,如果从一个顶点 vi 到另一个顶点 vj(ij)有路径,则称顶点 vi 和 vj 是连通的。如果图中任意两顶点都是连通的,则称该图是连通图。所以具有 n 个顶点的连通无向图至少有 n 一 1 条边。【知识模块】 图6 【正确答案】 B【试题解析】 I 的叙述是错误的,因为如果有向图构成双向有向环时,则从任一顶点出发均能访问到每个顶点,但该图却非完全图。、的叙述显然是正确的。【知识模块】 图7 【正确答案】 D【试题解析】 有向图的邻接矩阵中,0 和表示的
10、都不是有向边,而入度是由邻接矩阵的列中元素计算出来的。【知识模块】 图8 【正确答案】 C【试题解析】 在无向图中,一条边计入两个顶点的度数。【知识模块】 图9 【正确答案】 A【试题解析】 由图的深度优先遍历算法和二叉树的前序遍历可知选 A。【知识模块】 图10 【正确答案】 B【试题解析】 无向连通图应有一棵或多棵最小生成树。【知识模块】 图11 【正确答案】 C【试题解析】 当有向图中无回路时,从某顶点出发进行深度优先遍历时,出栈的顺序(退出 DFSTraverse 算法)即为逆向的拓扑序列。【知识模块】 图12 【正确答案】 A【试题解析】 根据邻接表的结构,无向图对应的邻接表有 n
11、个表头结点,有 2e个链表结点(每条边对应两个链表结点)。【知识模块】 图13 【正确答案】 D【试题解析】 由完全图的定义可知本题答案为 D。【知识模块】 图14 【正确答案】 A【试题解析】 寻找拓扑序列就是拓扑排序,只能对有向图进行拓扑排序。【知识模块】 图15 【正确答案】 C【试题解析】 此题考查的知识点是图的邻接矩阵存储。在图的邻接矩阵中,两点之间有边,则值为 1,否则为 O。本题只要考虑 Am=AAA(m 个 A 矩阵相乘后的乘积矩阵)中(i ,j) 的元素值是否为 0 就行了。【知识模块】 图16 【正确答案】 A【试题解析】 此题考查的知识点是图的 BFS 算法。BFS 是从
12、根结点开始,沿着树的宽度遍历树的结点,如果所有结点均被访问,则算法中止。当各边上的权值相等时,计算边数即可,所以选 A。【知识模块】 图17 【正确答案】 A【试题解析】 邻接矩阵法的基本思想是对于有 n 个顶点的图,用一维数组 vexsn存储顶点信息,用二维数组 Ann存储顶点之间关系的信息。该二维数组称为邻接矩阵。在邻接矩阵中,以顶点在 vexs 数组中的下标代表顶点,邻接矩阵中的元素 Aij存放的是顶点 i 到顶点 j 之间关系的信息。 邻接表法的基本思想:对图的每个顶点建立一个单链表,存储该顶点所有邻接顶点及其相关信息。每一个单链表设一个表头结点。 第 i 个单链表表示依附于顶点 Vi
13、的边(对有向图是以顶点 Vj 为头或尾的弧)。 【知识模块】 图二、综合应用题41-47 小题,共 70 分。18 【正确答案】 此题考查的知识点是图的定义。具有 n 个顶点 n1 条边的无向连通图是自由树,即没有确定根结点的树,每个结点均可当根。若边数多于 n1条,因一条边要连接两个结点,则必因加上这一条边而使两个结点多了一条通路,即形成回路。形成回路的连通图不再是树(在图论中树定义为无回路的连通图)。【知识模块】 图19 【正确答案】 此题考查的知识点是无环图的定义。根据题意,该有向图顶点编号的规律是让弧尾顶点的编号大于弧头顶点的编号。由于不允许从某顶点发出并回到自身顶点的弧,所以邻接矩阵
14、主对角线元素均为 0。先证明该命题的充分条件。由于弧尾顶点的编号均大于弧头顶点的编号,在邻接矩阵中,非零元素(Aij=1)自然是落到下三角矩阵中;命题的必要条件是要使上三角为 0,则不允许出现弧头顶点编号大于弧尾顶点编号的弧,否则,就必然存在环路。(对该类有向无环图顶点编号,应按顶点出度顺序编号。)【知识模块】 图20 【正确答案】 (1)n(n 一 1),n (2)10 6,不一定是稀疏矩阵 提示:此题考查的知识点是图的相关术语。 (1)在有向图 G 中,如果对于每一对 vi,v j,属于 V,v i 不等于 vj,从 vi 到 vj 和从 vj 到 vi 都存在路径,则称 G 是强连通图。
15、最多边是所有的顶点每对之间都有边,边数为 n(n1);最少只有一个方向有边,为 n。 (2)元素个数为矩阵的大小,即 106,稀疏矩阵的定义是非零个数远小于该矩阵元素个数,且分布无规律,不一定稀疏。【知识模块】 图21 【正确答案】 此题考查的知识点是图顶点度数。可以按各项点的出度进行排序。n 个顶点的有向图,其顶点最大出度是 n1,最小出度为 0。这样排序后,出度最大的顶点编号为 1,出度最小的顶点编号为 n 之后,进行调整,即若存在弧,而顶点 j 的出度大于顶点 i 的出度,则将 j 的编号排在顶点 i 的编号之前。【知识模块】 图22 【正确答案】 此题考查的知识点是图的遍历。采用深度优
16、先遍历算法,在执行DFS(v)时,若在退出 DFS(v)前碰到某顶点 u,其邻接点是已经访问的顶点 v,则说明 v 的子孙 u 有到 v 的回边,即说明有环;否则,无环。【知识模块】 图23 【正确答案】 此题考查的知识点是图的遍历。遍历不唯一的因素有:开始遍历的顶点不同;存储结构不同;在邻接表情况下邻接点的顺序不同。【知识模块】 图24 【正确答案】 (1)无向连通图的生成树包含图中全部 n 个顶点,以及足以使图连通的 n1 条边。而最小生成树则是各边权值之和最小的生成树。 (2)最小生成树有两棵。下面给出顶点集合和边集合,编以三元组(V i,V j,W) 形式,其中 W 代表权值。 V(G)=1 ,2,3,4, 5 El(G)=(4,5,2),(2 ,5,4),(2 ,3,5),(1,2,7); E2(G)=(4,5,2),(2,4,4),(2,3,5),(1,2,7) 提示:此题考查的知识点是最小生成树的定义。该题说明图的最小生成树不唯一,但权值和唯一,出现两个或两个以上的情况是因为有权值相同的边。牢记 Prim(选图的顶点) 、Kruskal(选图的边,边上权值排序)两种算法的区别及算法步骤。【知识模块】 图