【数据结构入门精讲 | 第十八篇】考研408、企业面试图专项练习(一)

本文是数据结构图的专项练习,适合考研408和企业面试准备。内容包括判断题、选择题和编程题,涉及图的遍历、重要性计算、连通集列举和分而治之策略的应用。
摘要由CSDN通过智能技术生成

在上一篇中我们学习了图的相关知识点,在这一篇中我们进行图的专项练习。

在这里插入图片描述

判断题

1

选择两城市间最经济的航行路线用迪杰斯特拉算法(对)

2

从某顶点出发进行深度优先遍历,最先退出dfs过程的是拓扑序列的最后一个顶点。(对)

3

对任意一个图,从某顶点出发进行一次深度优先或广度优先遍历,可访问图的所有顶点。(错)
若存在回路,则结束遍历,剩下的节点就不能被访问。

4

检查有向图是否存在回路的一种方法是使用无前驱顶点优先算法对有向图进行拓扑排序。( 对 )

5
一个邻接矩阵如下:

0 1 1 0 1 0
1 0 0 1 0 0
1 0 0 0 1 1
0 1 0 0 1 0
1 0 1 1 0 1
0 0 1 0 1 0

若用广度优先进行遍历,则可能得到的顶点序列为?

解,由邻接矩阵可得:
第一行第二列、第一行第三列、第一行第五列为1,所以
1>2,1>3,1>5,即1>2>3>5
同理
2>1>4
3>1>5>6
4>2>5
5>1>3>4>6
6>3>5
所以1>2>4>5>6>3是可能的

6
如果G是有28条边的连通无向图,则顶点个数为多少?
解:除孤立点外,n个顶点构成的无向完全图最多有n(n-1)/2条
故解得n为8,加上孤立点,故顶点个数为9

7在这里插入图片描述解析:图是非线性的,表示多对多的关系。

在这里插入图片描述
9在这里插入图片描述

解析:无向连通图是指对图中任意顶点u,v,都存在路径使u、v连通。

o--o--o
这是无向连通图,边数为2,不会大于顶点数减一

10
在这里插入图片描述
11
在这里插入图片描述

解析:
    o
   / \
  o - o
每个顶点的度为2  

12在这里插入图片描述
13
在这里插入图片描述

14在这里插入图片描述

15、16
在这里插入图片描述

解析:
对于15,c可能在a、b之间,也可能在a、b之外,故对

16不再赘述。

17在这里插入图片描述

18
在这里插入图片描述
解析:不一定,如图,5到4的路径并不是最短路径

在这里插入图片描述

19
在这里插入图片描述

20在这里插入图片描述

21
在这里插入图片描述
22在这里插入图片描述
23若图G有环,则G不存在拓扑排序序列。(对)

解析:拓扑排序的前提是有向无环图

在这里插入图片描述
24如果从有向图 G 的每一点均能通过深度优先搜索遍历到所有其它顶点,该图一定不存在拓扑序列(对)

选择题

1.对于一个具有 N 个顶点,m条边的无向图,若采用邻接表来表示,则该邻接表的大小是?

对于无向图,每个顶点最多与其他 N-1 个顶点相连,因此邻接表的大小为 O(N)。而每条边都会在邻接表中占用一个节点,所以边的数量 m 也会影响邻接表的大小。综合起来,邻接表的大小是 O(m + N)。

2.采用邻接矩阵存储图时,广度优先搜索遍历算法的时间复杂度为 C

A. O(n) B. O(n+e) C. O(n^2) D. O(n^3)

3
在这里插入图片描述

矩阵为N阶矩阵,故选B

4在这里插入图片描述

125
137
1411
154
169

排序得到4 5 7 9 11
即对应 5 2 3 6 4

5在这里插入图片描述

6.如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是(连通图)

7.下列说法正确的是( D )。
A、连通分量是无向图的极小连通子图
B、生成树是无向图的极大连通子图
C、具有n个顶点,少于n-1条边的无向图可能是连通图
D、具有n个顶点,多于n-1条边的无向图必存在环

8在这里插入图片描述

对于活动最早开始时间,找线段中没有箭头的一端,取该端的最早开始时间
例如b
b没有箭头的一端为3
3的最早开始时间为8,所以写8

9在这里插入图片描述

10在这里插入图片描述
在这里插入图片描述
11在这里插入图片描述
12在这里插入图片描述
13
在这里插入图片描述
14
在这里插入图片描述

6个顶点的无向图最多15条边
3个顶点的无向图最多3条边
6个顶点15条边的图和3个顶点2条边的图以及41个顶点,共计43个连通分量
7个顶点的无向图最多21条边,
7个顶点17条边的图和43个顶点,共计44个连通分量,此时满足最大的要求

15在这里插入图片描述
16在这里插入图片描述

17.具有 100 个顶点和 12 条边的无向图至多有多少个连通分量?(95)

n个顶点的无向图最多有n(n-1)/2条边
n个顶点的无向图最少有n-1条边

而6个顶点最多有15条边
所以
将100个顶点中拿六个顶点构成12条边,形成一个连通分量
此时剩94个点,让它们不相连、各自成为点,所以剩下的94个顶点有94个连通分量,共95个连通分量

编程题

R7-1 社交网络图中结点的“重要性”计算

在社交网络中,个人或单位(结点)之间通过某些关系(边)联系起来。他们受到这些关系的影响,这种影响可以理解为网络中相互连接的结点之间蔓延的一种相互作用,可以增强也可以减弱。而结点根据其所处的位置不同,其在网络中体现的重要性也不尽相同。

在这里插入图片描述
输入样例:

9 14
1 2
1 3
1 4
2 3
3 4
4 5
4 6
5 6
5 7
5 8
6 7
6 8
7 8
7 9
3 3 4 9

输出样例:

Cc(3)=0.47
Cc(4)=0.62
Cc(9)=0.35
#include <bits/stdc++.h>
using namespace std;
const int N = 1010, M = 10010
  • 21
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏,祝你平安喜乐。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值