数据结构:图期末题汇总下(选择题,含解析)

目录

一 遍历

1.概念

2.深度优先遍历

3 广度优先遍历

二 邻接表

三 最小生成树

1 概念

2 Prim算法

3 Dijksra和Flord算法

四 AOV网和AOE网

1 AOV网中的拓扑排序

2 AOE网与关键路径


如果不了解图的基本操作可点击图的邻接表,邻接矩阵

一 遍历

1.概念

1.下列说法不正确的是(C)

  • A. 图的遍历是从给定的源点出发每一个顶点仅被访问一次 
  • B. 遍历的基本算法有两种:深度遍历和广度遍历
  • C. 图的深度遍历不适用于有向图
  • D. 图的深度遍历是一个递归过程

解析:图的深度遍历适用于有向图

2.深度优先遍历

2.无向图G=(VE),其中:V={a,b,c,d,e,f,E={(a,b),(a,e),(a,c),(b,e),(c,f).(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是(D) 。

  • A. a,b,e,c,d,f
  • B. a,c,f,e,b,d
  • C. a,e,b,c,f,d
  • D. a,e,d,f,c,b

解析:深度优先遍历是指从一条路出发,直到找不出可以再遍历的点

a->e->d->f->c(没有可遍历的节点,开始撤回)->f->d->e->b

3.设图如右所示,在下面的5个序列中,符合深度优先遍历的序列有多少? ( D )

  1. a e b d f c
  2. a c f d e b
  3. a e d f c b
  4. a e f d c b
  5. a e f d b c
  • A.5个
  • B.  4个
  • C.  3个
  • D.  2个

解析:1对5对,这里简要分析一下5

a->e->f->d(此时没有可访问的点,开始回退)->f->e(此时可以从e出发前往b,这也是3,4错误的原因,回退过程中如果出现可访问的点优先访问而不是回退)->b(无点访问)->e->a->c

选项4:当回退到e时,可访问b,正确顺序为a e f d b c

选项3:当回退到e时,可访问b,正确顺序为a e d f b c

相似题:4.无向图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)},对该图进行深度优先遍历,得到的顶点序列正确的是(d)

  • A. a,b,e,c,d,f
  • B. a,c,f,e,b,d
  • c. a,e,b,c,f,d
  • D. a,e,d,f,c,b

3 广度优先遍历

5.下图中给出由7个顶点组成的无向图。从顶点1出发,对它进行深度优先遍历得到的序列是(c ),而进行广度优先遍历得到的顶点序列是(c) 。

括号一

  • A.1354267
  • B.1347652
  • C.1534276
  • D.1247653
  • E.以上答案均不正确

括号二

  • A.1534267
  • B.1726453
  • C.1354276
  • D.1247653
  • E.以上答案均不正确


解析:

深度遍历1534276

遍历顺序为1->5->3->5->4->2->7->6

广度遍历1354276

广度优先遍历的思想是先遍历所有与该点相连的点,再从与其相连的点中找到相邻的点

其中35427为与1直接相连的点

遍历顺序为1->3->5->4->2->7->6

二 邻接表

6.

则该图有(B)个顶点:如果是无向图有(D)条边,如果是有向图有(B)条弧。
1:

  • A 9
  • B 3
  • C 6
  • D 1.

2:

  • A 5
  • B 4
  • C 3
  • D 2

3:

  • A 5
  • B 4
  • C 3
  • D 2

解析:矩阵大小为3*3故有3个顶点

无向图是对称的,第一行第二列和第二行第一列算一个(A[1][2]==A[2][1]),第二行第三列和第三行第二列记为一个(A[2][3]==A[3][2]),4/2=2

有向图非对称值为一算一个故有4个

7.

解析:因为是无向图,只有可能行求和或者列求和,排除D,对于Vi来说A[i,j]表示<Vi,Vj>即从Vi到Vj因此要把Vi到各个点路径求和,即为B

相似题:8.

相似题:9

解析:<Vi,Vj>的出度和入度求和,可得到D,B选项的第二项是对Vj的入度求和

三 最小生成树

1 概念

10 任何一个无向连通图的最小生成树 【A
A. 有一棵或多棵
B. 只有一棵
C. 一定多棵
D.可能不存在

解析:假设存在权值相同的两个点且都选择会形成回路,那么二选一即可,此时有多棵最小生成树

而在权值都不相等的情况下,只有一颗最小生成树

2 Prim算法

11.下面是求连通网最小生成树的prim算法,集合VT和ET分别放顶点和边,初始为(C )
下面步骤重复n-1次: a. ( A); b.(B );最后:(A)。
1、

  • A.VT,ET为空;
  • B.VT为所有顶点,ET为空;
  • C.VT为网中任意一点,ET为空;
  • D.VT为空,ET为网中所有边;

解析:顶点可选任意一点

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)上权最大;

解析:从属于集合VT中选i,找到j,使得(i,j)上权最小

3、

  • A.顶点i加入VT,边(i,j)加入ET ;
  • B.顶点j加入VT,边(i, j)加入ET ;
  • C.顶点j加入VT,边(i,j)从ET中删除﹔
  • D.顶点i , j加入VT,边(i,j)加入ET ;

解析:把j和(i,j)加入

4

  • A.ET中为最小生成树;
  • B.不在ET中的边构成最小生成树;
  • C.ET中有n-1条边时为最小生成树,否则无解;
  • D.ET中无回路时为最小生成树,否则无解。

解析:ET中构成最小生成树

3 Dijksra和Flord算法

常见于操作题

四 AOV网和AOE网

1 AOV网中的拓扑排序

12、对下图所示的有向图进行拓扑排序,得到的拓扑序列可能是(D )

  • A.3,1,2,4,5,6
  • B.3,1,2,4,6,5
  • C.3,1,4,2,5,6
  • D.3,1,4,2,6,5

解析:由于拓扑排序的算法思想是先找到没有入度的点,再拿掉这个点,再找没有入度的点以此类推,所以不可能出现当Vi指向Vj时,拓扑排序Vj在Vi前面,故5在6后面,排除A,C,2在4后,排除B

13

解析:

  1. A->B->C->D->F->E->G
  2. A->B->C->F->D->E->G
  3. A->B->C->D->E->F->G
  4. A->B->D->C->F->E->G
  5. A->B->D->C->E->F->G

14.下面哪些方法可以判断出一个有向图是否有环(回路)(AB)

  • A.深度优先遍历
  • B.拓扑排序
  • C.求最短路径
  • D、求关键路径

解析:拓扑排序有环则陷入死循环,因为箭头指向的必须在起点后面,一个点自己指向自己,则不能输出

对于深度优先遍历,因为要求访问该节点所有相邻节点,有环则不断访问自己,陷入死循环

15

解析:原因同12题排除即可

16.若一个有向图的邻接距阵中,主对角线以下的元素均为零,则该图的拓扑有序序列( A )。

  • A.存在
  • B.不存在

解析:下三角为0,说明没有形成回路,故一定有拓扑序列

17

解析:原因同12

18

解析:如13题,显然不唯一

19

解析:对有n个顶点和e条弧的有向图而言,建立求各顶点的入度的时间复杂度为O(e);建零入度顶点栈的时间复杂度为O(n);两个加起来,即为答案

2 AOE网与关键路径

20

解析:关键路径代表最长路径

21

解析:应为最迟结束时间与持续时间的差,对于B来说,假设C做之前经历AB,C的最早开始时间与弧BC最早开始时间相同

22

解析:如果有两个权值相同的关键路径,减少一个关键活动,另一个关键路径不变,不会提前完成

23

解析:关键路径13256和1356,降低f和d可缩短工期

  • 27
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值