目录
如果不了解图的基本操作可点击图的邻接表,邻接矩阵
一 遍历
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 )
- 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 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
解析:
- A->B->C->D->F->E->G
- A->B->C->F->D->E->G
- A->B->C->D->E->F->G
- A->B->D->C->F->E->G
- 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可缩短工期