图——牛客网刷题第一波

这几天树和图掺和着来,没有严格地区分,一块复习吧……

1.设G是有p个顶点q条边的(简单)无向图,且G中每个顶点的度数不是k就是k+1,则G中度为k的顶点的个数是多少?B

A. p/2;

B. p(k+1)-2q;

C. pk;

D. p(p+1)

解析:因为顶点度数只有两种,所以设k度的顶点数为x,k+1的为(p-x),又因为是无向图,所以顶点数乘以相应度数之和为图中边数的2倍(一条边代表一次入和一次出),所以kx+(k+1)(p-x)=2q,解得x=p(k+1)-2q,选B

2.一个网(带权图)都有唯一的最小生成树(B)

A. 对

B. 错

解析:最小生成树可以有多个, 他们的权值相等且最小即可

3.树中的结点和图中的顶点就是指数据结构中的数据元素。(A)(有争议)

A. 正确

B. 错误

解析:数据元素:字段、域、属性

          数据项:元素、结点、顶点、记录

         数据项组成数据元素,数据元素组成数据

4.在下图的多边形ABCDE中从哪一点出发,可以遍历图上的每条边一次,而且仅遍历一次。(B)(略有争议)

图——牛客网刷题第一波_第1张图片

A. A点

B. B点

C. C点

D. D点

解析:这是寻找欧拉回路问题:

无向图中,G有欧拉通路的充分必要条件为:G连通,G中只有两个奇度顶点(它们分别是欧拉通路的两个端点)

(1)无向图:  图连通,所有点都是偶数度,或者只有两个点是奇数度。当所有点是偶数度时欧拉路起点可以是任意

点;当有两个奇数度点时起点必须是奇数度点。

(2)有向图:  图连通,所有点出度=入度,或者有一个点入度-出度=1,有一个点出度-入度=1。同样,当所有点

出度=入度时任意点可作为起点;而后者必须以出度-入度=1的点做起点,入度-出度=1的点做终点。

5.给定一个如下所示的图,图中的边代表了两个节点间的距离。如果使用迪杰斯特拉算法对节点 1 和节点 8 求最短路径,则当完成计算时,算得节点 1 到节点 8 的最短路径是?同时当完成节点 1 到节点 8 的最短路径计算时,节点 1 到哪些节点(除了 1 和 8 )的最短路径也已经计算完毕?(C

图——牛客网刷题第一波_第2张图片

A.最短路径:7;已经算得最短路的节点:3,5,6

B.最短路径:4;已经算得最短路的节点:5

C.最短路径:4;已经算得最短路的节点:2,3,5,4

D.最短路径:4;已经算得最短路的节点:5,6

解析:初始状态:路径长度0:(1)

           路径长度1:(1,5)

           路径长度2:(1,3)

           路径长度3:(1,3,4),(1,2)

           路径长度4:(1,5,8)

节点1到8的最短路径长度为4;     2,3,4,5节点的最短路径已经计算完毕;   其中到5节点的最短路径最小为1;

6.在用Floyd算法求解各顶点间的最短路径时,每个表示两点间路径的path(k-1) [I,J]一定是path(k) [I,J]的子集(k=1,2,3,…,n) (B)

A. 对

B. 错

解析:答案是不一定。

1、path (k-1) [I,J]表示的是,为从i到j的只以(1..k-1)集合中的节点为中间节点的最短路径的长度。

2、path (k) [I,J] 表示的是,为从i到j的只以(1..k)集合中的节点为中间节点的最短路径的长度。

因为 Floyd算法是一个经典的动态规划算法 ~

假设i和j分别是A和C ,如下图:

假设集合(k-1),包含ABC,k是D,所以不包含D,因此最短路径是ABC。。。。。

可是集合(k),包含ABCD,可是最短path是ADC。ABC不是ADC的子集。

图——牛客网刷题第一波_第3张图片

注意,新加入的节点有可能改变最短路径!!

7.图示是一个网络流从s到t的某时刻快照。此时t处一共接收到10+13+16=39单位流量。每条横线上的数字表示当前流量和管道的容量。那么,该网络最大的流量是多少?(B)

图——牛客网刷题第一波_第4张图片

A. 40

B. 41

C. 42

D. 43

解析:

法一:s出流量最大为11+22+10=43,而由于t4只能接收10,s1必定损失1,而t5最大接收为16,2到5最大为17,t5满则5到6只能为1,这样t6最大为15,故流量最大为10+16+15=41,此时s3、23、25、t4、t5为满

故最大流量为41

此时满负荷为s3、23、25、t4、t5

法二技巧:  按层计算,瞻前顾后

首先计算每一层向终点方向的最大输出能力,不包括回流的量

然后计算总体的最大流量,为各个层中流量最小的一层的流量

本题中分为三层:

第一层为s。                        朝终点最大输出量为11+22+10 = 43

第二层为节点1、2、3。      朝终点最大输出量为10+17+14 = 41(10是因为节点4最多接受10,出度为10,14是因为节点3的入度为14,所以是14而不是16)

第三层为节点4、5、6。      朝终点最大输出量为10+16+16 = 42

所以综合考虑总体最大的流量只能41.

8.假设我们用d=(a1,a2,….a5)表示无向无自环图G的5个顶点的度数,下面给出的哪组值是可能的B

A. {3,4,4,3,1}

B. {4,2,2,1,1}

C. {3,3,3,2,2}

D. {3,4,3,2,1}

解析:首先要理解无自环是指一个顶点不能自己到自己,而不是图没有环,所以这题目的图是可以有环的。然后无向图边数最多和总度数最多的情况下,就是完全无向图,边数为E=n(n-1)/2条,总度数为边数的两倍即D=n(n-1)。所以只要边数小于等于E,度小于等于D,且总度数D是一个偶数,那么就都可以构成图。题目5个顶点,其完全无向图的边数为10,总度数为20,备选答案所有数字之和是偶数且不大于20的,即为答案。

9.某软件系统结构图如图所示,该结构图的深度为(B)。

图——牛客网刷题第一波_第5张图片

A. 2

B. 3

C. 4

D. 5

解析:C,E指向的都是兄弟节点,不是子节点。

10.一个有向图D=(V,A)满足什么条件是V到V的一个映射的图? (A)

A. 对任意v∈V, od(v)=1;

B. 对任意v∈V,id(v)=1;

C. 存在v∈V,od(v)=1;

D. 存在v∈V,id(v)=1。

解析:从Vi到Vj的映射,是指对于V中的每一个元素i,V中都有一个唯一的元素j与之对应,也就是 i--->j 唯一,出度=1。

你可能感兴趣的:(刷题)