数据结构-分析期末选择题考点(图)

我是梦中传彩笔

欲书花叶寄朝云


目录

图的常见考点(一)图的概念题

图的常见考点(二)图的邻接矩阵、邻接表

图的常见考点(三)拓扑排序

图的常见考点(四)关键路径

图的常见考点(五)最小生成树


契子


承接上回,我们来复习一下图 ~ 

图的知识点是比较多的,而且大部分都需要画图,但是由于章节靠后所以出难题的几率不是很大

大多数都是以基础题为主(比如说概念题、邻接矩阵、邻接表、最小生成树)

如果是机考的话,邻接表、最小生成树往往是不要求画图的,大概就是出个找正确图形的选择题

现在我来分析一下大概率会考到的题型:
<1>图的概念题(比如有图向、无图向,度与边的关系,深度优先、广度优先是什么序列的遍历)

<2>图的邻接矩阵、邻接表

<3>关键路径

<4>最小生成树


图的常见考点(一)图的概念题

在一个图中,所有顶点的度数之和等于图的边数的()倍
A. 1/2
B. 1
C. 2
D. 4

答案选择 C

解析:

有向图:

无向图:

无向图,顶点的度指依附该顶点的边的条数。 对于无向图,全部顶点的度之和等于边数的两倍,因为每条边和俩个顶点相关联。 对于有向图,顶点的度分出度和入度,某一顶点的度等于其入度和出度之和,全部顶点的入度之和和出度之和相等且等于边数,那么入度之和 + 出度之和 = 边数俩倍。因为每条有向边都有一个起点和终点。 总结:无论是有向图还是无向图,所有顶点度数之和等于所有边数的两倍


在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍
A. 1/2
B. 1
C. 2
D. 4

答案选择 B

像这种图如果不会就画图​(因为题目给出的范围很广:所有顶点,所以你就画个简单的模型模拟一下便可)

如图所示:有向图所有顶点入度之和等于所有顶点出度之和


具有n个顶点的有向完全图有()条弧边
A、n(n-1)/2
B、n(n-1)
C、n(n+1)/2
D、n(n+1)

若每个顶点都有互相相反的两条弧连接,且具有 n 个顶点,n(n-1) 条弧的有向图则称为有向完全图(简单来讲,每个顶点都有对应的入度、出度,而且是满的状态 -- 不能再连,此时的弧便是最大值)

刚好这张图也能用,上图便是有向完全图

我们发现含有 4 个顶点的有向完全图中,共有 n(n-1)=4×3=12 条弧,所以是没有问题的

答案选择 B

既然有向图的最大弧数已经说了,那我们来谈一谈无向图的最大弧数(无向完全图的弧):n(n-1)/2 

我们可以简单的推正一下:

无向图我们可以拿两个结点举例,最大的弧便是 1,根据此时边与弧的关系可以推出:

最大弧数:n(n-1)/2 

有向图我们也可以拿两个结点举例,最大的弧便是 2,根据此时边与弧的关系可以推出:

最大弧数:n(n-1)

无向图中两结点之间连成一条直线
有向图中任意两个结点之间都有一对有向边

若从无向图的任意顶点出发进行一次深度优先搜索即可访问所有的顶点,则该图一定是()
A、强连通图
B、连通图
C、有回路
D、一棵树

答案选择 B

解析:

A、在一个有向图中,任意两个不同的顶点都存在相互之间的路径,则称为强连通图,与题意无向图不符

B、若无向图中任意两个结点都是连通的(任意两个结点之间有路径),则称该图为连通图,由于从任意顶点出发进行一次深度优先搜索即可访问所有的顶点,所以该图一定是连通图

C、回路不一定包含图的所有顶点

D、连通图可能是树,也可能存在环


下面关于图的存储的叙述中,哪一个是正确的?A.用相邻矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关
B.用相邻矩阵法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关
C.用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关
D.用邻接表法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关

答案选择 A

用邻接表法存储图,占用的存储空间数与图中结点个数和边数都有关,因为邻接表就是记录相邻边结点之间的关系

用邻接矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关,因为所画图形的大小往往是根据结点数量定的(存储空间),而不是按边数定的


图的 BFS 生成树的树高比 DFS 生成树的树高()
A.小             B.相等              C.小或相等           D.大或相等

答案选择 A

对于一些特殊的图,比如只有一个顶点的图,其 BFS 生成树的树高和 DFS 生成树的树高相等。一般的图,根据图的 BFS 生成树和 DFS 树的算法思想, BFS 生成树的树高比 DFS 生成树的树高小


巳知无向图G含有16条边,其中度为4的顶点个数为3
度为3的顶点个数为4,其他顶点的度均小于3.图G所含的顶点个数至少是( )
A.10                B.11                   C.13                    D.15

答案选择 B

无向图边数的 2 倍等于各顶点度数的总和

由于其他顶点的度均小于3,设它们的度都为2,设它们的数量是 x

列出这方程 4x3 +3x4+ 2x= 16x2,解得 x=4

4+4+3=11

图的常见考点(二)图的邻接矩阵、邻接表

对该知识点不熟的先去翻翻课本 ~

一个具有n个顶点,e条边的无向图的邻接矩阵中,零元素的个数为()
A、n^2
B、n^2-2e
C、n+2e
D、e

首先:

无向图的邻接矩阵一定是 -- 对称矩阵,关于对角线对称,且主对角线一定为零,而无向完全图中,由于任意两个顶点之间都有边连接,所以除了邻接矩阵的主对角线外,其余元素都为 1

根据这个规律我们便可以知道:对于一个含有n个顶点,e条边的无向图,其邻接矩阵中元素为零的个数为 n^2 - 2e邻接矩阵元素数量 - 两条对角线的数量

答案选择 B


用邻接表表示图进行广度优先遍历时,通常借助()来实现算法
A. 栈
B. 队列
C. 树
D. 图

广度优先遍历相当于二叉树的层序遍历通常借助队列来实现算法

深度优先遍历相当于二叉树的先序遍历通常借助来实现算法

答案选择 B


已知图的邻接矩阵如图所示,则从顶点v0出发按深度优先遍历的结果是()
A. 0243156
B. 0136542
C. 0134256
D. 0361542

这道题大概率会考 ~ 不要问我为什么(凭一个程序员的直觉)

但是你也不要太紧张,我来教你怎么做,若是你还不懂就去逛逛 B 站

首先题目连邻接矩阵都给你了,你就可以通过邻接矩阵构建图:

我这里示范一下

<1>这个图一看就是有向图,我们只需要找到有 1 的位置到时候判断图中各结点之间关系

先大概画个草图(将结点标出来),然后再连关系

这里举个例子(拿邻接矩阵的第一行)

因为我们的邻接矩阵行代表出度、列代表入度

所以我们通过

像这样我们就可以画出 0 与其他结点之间的关系

然后重复以上步骤

最后画出来就是这个样子的,这里说从 v0 开始出发进行深度优先遍历

这里说一下规则:一条路走到黑,走不了就回溯,走路选择分支的时候取值最小的结点

我们从 0 开始,而 0 1 2 3 4 6 都有关系,但是 1 的值最小,所以我们选择 1

01

然后我们看 1 这个结点(注意这里不是按结点顺序来的而是按照当前结点的位置):1 0 3 6 有关系,但是 0 已经在序列了,最小节点为 3,那我们便走 3

013

我们看 3 这个这个结点,我们看图虽然我画的比较难看,但这正是通往成功的蓝图:31 0 5 4 都有联系,但是 1 0 都已经在序列了,其中最小结点 4 那么我们便选择 4

0134

我们看 4 这个这个结点,4 0 3 2 5 都有关系, 0 3 都已在序列,其中最小结点为 2 ,那么我们便选择 2 

01342

注意)我们看 2 这个这个结点,2 0 4 都有关系, 但是这些节点都以在序列怎么办呢?

这个时候我们就要开始回溯,回溯顾名思义就是往后退的意思:

我们的 2 回退4 这个结点,我们再来看,发现 4 还跟 5 有关系,所以下一步我们可以走 5

 

013425

这个时候答案基本上已经出来了,我就不继续往下讲了,记住做这种题的方法就是画图找关系(就那么简单)

正确答案: C

已知图的邻接表如图所示
则从顶点v0出发按广度优先遍历的结果是(),按深度优先遍历的结果是()
A.0 1 3 2                     0 2 3 1               
B.0 1 3 2                     0 3 2 1                      
C.0 2 3 1                     0 3 2 1                      
D.0 1 2 3                     0 1 2 3

这道题的思路跟上一题差不多,都是先根据图的邻接表构建出的模型,再进行遍历

这种题考的概率还是很大的 ~

废话不多说,直接开干

我们还是一步一步来吧:

先根据 V0 这一条关系画出一下图形

根据 V1 这条关系画出一下图形:

根据 V2 这条关系画出一下图形:

这样就画完了,关于为什么要这样画(去翻翻书吧)

由图可知,广度优先遍历是层序遍历,那么从 V0 开始的话就是

0 1 2 3

深度优先与我们上题的操作一样:
01 2 3 有关系,1 结点最小,先走 1

0 1

这道题那么就简单了,就直接讲吧,1 只与 2 0 有关系,只能走 22 只与 3 0 有关系,只能走 3

所以:

0 1 2 3

正确答案: D

设连通图G中的边集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)}
则从顶点a出发得不到一种深度优先遍历的顶点序列为()
A. abedfc
B. acfebd
C. aebdfc
D. aedfcb

虽然这道题没有给任何的图形,但是它依旧是一道画图题

我们要根据表达式画出图形,再根据深度优先遍历去判断结果

画图的图形如下图所示:

由于只是连通图,所以我们不需要画箭头要保证路径之间不能交叉

我现在说明一下这道题到底再考什么:什么时候需要

回溯规则:有路走优先走路没路走才会回溯

别的不说,我们先来分析一下 A 选项

abedfc

a->b->e>d->f->c 有路走(一条线直接通,看图说话)所以是可行的

B 选项:

acfebd

a->c->f 都没有问题,但是这里在 f 位置竟然回溯了,我们深度优先遍历的规则是有路走优先走路没路走才会回溯,但是这里路没走完就回溯了(f->d),所以是错误

C选项:

 aebdfc

a->e->b 没有问题,到 b 就没有路走了,所以 b 回溯到 e,e->d->f->c 有路走,所以可行

D选项:

aedfcb

a->e->d->f->c 都没有问题,到 c 就没有路走了,c 可以回溯到 a 再走 b,所以是可行的

正确答案: B

讲到这里我们邻接矩阵、邻接表的题型就已经讲完了

图的常见考点(三)拓扑排序

已知有向图G=(V,E)
其中V={V1,V2,V3,V4,V5,V6,V7},
E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>}
则G的拓扑序列是()
A、V1,V3,V4,V6,V2,V5,V7
B、V1,V3,V2,V6,V4,V5,V7
C、V1,V3,V4,V5,V2,V6,V7
D、V1,V2,V5,V3,V4,V6,V7

先来介绍一下拓扑排序:

在图论中,由一个有向无环图的顶点组成的序列,当且仅当满足下列条件时,称为该图的一个拓扑排序


(1)每个顶点出现且只出现一次
(2)若A在序列中排在B的前面,则在图中不存在从B到A的路径

此拓扑排序的思想是:

(1)从有向图中选取一个没有前驱的顶点,并输出之

(2)从有向图中删去此顶点以及所有以它为尾的弧

以上便是拓扑排序的步骤:

所以这依然是一道画图题,所以开局依旧是将我们的图画出来

第一步: 删除V1

第二步: 可选的没有前驱的点有V2,V3,V4

第三步 :假如下一步选择的是V3,则删除V3,可选的有V2,V4

第四步: 假如选择的是V2,则删除V2, 可选的有V4,V5(所以答案B错误了)

第五步: 假如选择的是V4,则删除V4,可选的有V5,V6

第六步: 假如选择的是V5,则删除V5, 剩余就是V6->V7

所以排序为:V1,V3,V2,V4,V5,V6,V7

根据以上思路,可以推出只有答案 A 才是对的

正确答案: A

设有向无环图G中的有向边集合E={<1,2>,<2,3>,<3,4>,<1,4>}
则下列属于该有向图G的一种拓扑排序序列的是()
A. 1,2,3,4 
B. 2,3,4,1
C. 1,4,2,3
D. 1,2,4,3

首先画图:

第一步: 删除 1

第二步: 删除 2

第三步: 删除 3

所以排序为:1 2 3 4

正确答案: A

 图的常见考点(四)关键路径

(多选)下面关于关键路径的说法正确的是()
A、求关键路径是以拓扑排序为基础的
B、关键活动一定位于关键路径上
C、一个事件的最早发生时间与以该事件为始的弧的活动的最早开始时间相同
D、一个事件的最迟发生时间是以该事件为尾的弧的活动的最迟开始时间与该活动的持续时间的差

正确答案: A、B、C
在AOE网中,由源点到汇点的有向路径可能有多条,从而完成活动的路径长度也不同,将所有路径中具有最大路径长度的路径称为关键路径,且这条路径上的所有活动称为关键活动,是决定整个工程的关键因素,关键路径是整个工程所完成的最短时间

一个事件的最迟发生时间为vl(k)=min{vl(j)-weight(vk,vj)},其中vk为vj的任意前驱,即等于取【以该事件为尾的弧的活动的最迟开始时间】与【最迟结束时间与该活动的持续时间的差】的最小值

(多选)下面的()方法可以判断出一个有向图是否有环(回路)
A、深度优先遍历
B、拓扑排序
C、求最短路径
D、求关键路径

 正确答案: A、B、D

(1)图的深度优先搜索,类似树的先序遍历,先访问结点,然后递归向外层结点遍历,尽可能深地搜索一个图,在生成树中访问到的顶点会是起始顶点的子孙,所以可以判断是否有环

(2)拓扑排序中是选择一个没有前驱,即入度 ID(v)=0的 顶点进行下去,而存在环时环的顶点是某边的起始,从而无法加入拓扑序列,无法找到下一个顶点删除时即可以判断是否有环

(3)关键路径能否判断一个图有环,则存在一些争议。关键路径本身虽然不允许有环,但求家关键路径的算法本身无法判断是否有环,判断是否有环是求关键路径拓扑排序

 图的常见考点(五)最小生成树

给定有权无向图的邻接矩阵如下,其最小生成树的总权重是()
A.24
B.23
C.18
D.17

实在不会就画图吧

跟我们邻接矩阵一样,无穷符号代表没有关系,然后有关系的地方要标权值

然后我们找到最小生成树,简单来说就是哪边值小搞那边,最后相加权值最小就行

实在不会就去翻翻课本Kruskal算法 + Prim算法)

 正确答案: B

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/863148.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言实现贪吃蛇小游戏

源码 /** * FileName: snakec* Author:PowerKing * Version&#xff1a;V1.0* Date:2024.6.28* Description: 贪吃蛇小游戏*/#include <curses.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h>/*贪吃蛇游戏 */#define UP 1…

S32K3 工具篇2:如何在S32DS中使用Segger JLINK下载

S32K3 工具篇2&#xff1a;如何在S32DS中使用Segger JLINK下载 一&#xff0c; S32DS中JLINK下载1.1 Segger JLINK 驱动1.2 S32DS JLINK驱动路径配置1.3 S32DS JLINK debug configuration1.4 S32DS JLINK debug S32K3板子结果 二&#xff0c; JLINK驱动实现S32K344代码下载2.1 …

高考落幕,暑期西北行,甘肃美食等你来尝

高考结束&#xff0c;暑期来临&#xff0c;西北之旅成为许多人的热门选择。而来到甘肃&#xff0c;除了领略壮丽的自然风光和深厚的历史文化&#xff0c;甘肃特产和传统面点以其独特的风味和传统的制作工艺也为游客们带来了一场地道的甘肃美食体验。 平凉的美食&#x…

005-GeoGebra基础篇-GeoGebra的点

新手刚开始操作GeoGebra的时候一般都会恨之入骨&#xff0c;因为有些操作不进行学习确实有些难以凭自己发现。 目录 一、点的基本操作1. 通过工具界面添加点2. 关于点的选择&#xff08;对象选择通用方法&#xff09;&#xff08;1&#xff09;选择工具法&#xff08;2&#xf…

Vue3使用jsbarcode生成条形码,以及循环生成条形码

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;我是前端菜鸟的自我修养&#xff01;今天给大家分享Vue3使用jsbarcode生成条形码&#xff0c;以及循环生成条形码&#xff0c;介绍了JsBarcode插件的详细使用方法&#xff0c;并提供具体代码帮助大家深入理解&#xff0c;彻…

【Docker】集群容器监控和统计 CAdvisor+lnfluxDB+Granfana的基本用法

集群容器监控和统计组合&#xff1a;CAdvisorlnfluxDBGranfana介绍 CAdvisor&#xff1a;数据收集lnfluxDB&#xff1a;数据存储Granfana&#xff1a;数据展示 ‘三剑客’ 安装 通过使用compose容器编排&#xff0c;进行安装。特定目录下新建文件docker-compose.yml文件&am…

日志分析-windows系统日志分析

日志分析-windows系统日志分析 使用事件查看器分析Windows系统日志 cmd命令 eventvwr 筛选 清除日志、注销并重新登陆&#xff0c;查看日志情况 Windows7和Windowserver2008R2的主机日志保存在C:\Windows\System32\winevt\Logs文件夹下&#xff0c;Security.evtx即为W…

【51单片机】串口通信(发送与接收)

文章目录 前言串口通信简介串口通信的原理串口通信的作用串口编程的一些概念仿真图如何使用串口初始化串口串口模式波特率配置 发送与接收发送接收 示例代码 总结 前言 在嵌入式系统的开发中&#xff0c;串口通信是一种常见且重要的通信方式。它以其简单、稳定的特性在各种应用…

[小试牛刀-习题练]《计算机组成原理》之计算机系统概述【详解过程】

【计算机系统概述】 1、【冯诺伊曼结构】计算机中数据采用二进制编码表示&#xff0c;其主要原因是&#xff08;D&#xff09; I、二进制运算规则简单II、制造两个稳态的物理器件较为容易III、便于逻辑门电路实现算术运算 A.仅I、Ⅱ B.仅I、Ⅲ C.仅Ⅱ、Ⅲ D. I、Ⅱ、Ⅲ I…

基于 Spring Boot 的健康咨询系统

1 项目介绍 1.1 摘要 本项目旨在通过构建一个对用户更加友好的健康咨询平台&#xff0c;帮助用户方便、快捷地获取专业并且准确的健康咨询服务&#xff0c;同时为医疗机构提供一个高效易用的可以提供信息管理的服务平台。 项目采用了Spring Boot框架作为主要的开发平台。本系…

论文阅读_基于嵌入的Facebook搜索

英文名称&#xff1a;Embedding-based Retrieval in Facebook Search 中文名称&#xff1a;基于嵌入式检索的Facebook搜索 时间&#xff1a;Wed, 29 Jul 2020 (v2) 地址&#xff1a;https://arxiv.org/abs/2006.11632 作者&#xff1a;Jui-Ting Huang, Ashish Sharma, Shuying …

Postman设置请求间自动保存返回参数,方便后续请求调用,减少复制粘贴

postman中常常出现&#xff1a;有两个请求&#xff0c;一个请求首先获取验证码或者token&#xff0c;再由得到的验证码或token编写body发送另一个请求。如何设置两个请求间自动关联相关数据呢&#xff1f; 通过环境存储全局变量 现在有两个请求如下图&#xff0c;生成验证码是…

如何将Hive表的分区字段插入PG表对应的时间戳字段?

文章目录 1、背景描述2、场景分析 1、背景描述 数据仓库的建设通常是为业务和决策服务的。在数仓开发的应用层阶段&#xff0c;BI可以直接从主题层/业务层取数&#xff0c;而前端需要根据具体的作图需求通过后端查询数据库 作图的指标需要根据主题层/业务层做查询计算&#xf…

保姆教程教你如何使用数据集运行ORB-SLAM3

链接: 自学SLAM&#xff08;2&#xff09;—保姆教程教你如何使用自己的视频运行ORB-SLAM2 这篇文章是详细教怎么运行ORB-SLAM2的&#xff0c;那么下来我们就看看怎么运行ORB-SLAM3 理论上ORB-SLAM2的环境也是可以跑ORB-SLAM3的&#xff0c;因为我之前试过&#xff0c;编译成功…

最佳学习率和Batch Size缩放中的激增现象

前言 《Surge Phenomenon in Optimal Learning Rate and Batch Size Scaling》原文地址GitHub项目地址Some-Paper-CN。本项目是译者在学习长时间序列预测、CV、NLP和机器学习过程中精读的一些论文&#xff0c;并对其进行了中文翻译。还有部分最佳示例教程。如果有帮助到大家&a…

Linux源码-进程描述符

Linux操作系统引入了PCB(Process Control Block,进程控制块)结构。PCB是Linux操作系统识别进程的通道。 创建进程时&#xff0c;首先会创建PCB&#xff0c;根据PCB中的信息对进程实施有效管理。当进程终止后&#xff0c;Linux操作系统会释放对应的PCB资源。 PCB的数据结构是s…

2022年第十三届蓝桥杯比赛Java B组 【全部真题答案解析-第二部分】

上一篇文章&#xff1a;2022年第十三届蓝桥杯比赛Java B组 【全部真题答案解析-第一部分】_尘封的CPU的博客-CSDN博客最近回顾了Java B组的试题&#xff0c;深有感触&#xff1a;脑子长时间不用会锈住&#xff0c;很可怕。兄弟们&#xff0c;都给我从被窝里爬起来&#xff0c;赶…

解决error Error: certificate has expired问题

安装环境遇到下面问题&#xff1a; 产生原因&#xff1a;可能是开了服务器代理访问导致ssl安全证书失效 解决办法&#xff1a; 在终端输入以下命令&#xff1a; yarn config set "strict-ssl" false -g

3ds Max导出fbx贴图问题简单记录

1.前言 工作中发现3ds Max导出的fbx在其它软件&#xff08;Autodesk viewer&#xff0c;blender&#xff0c;navisworks&#xff0c;FBXReview等&#xff09;中丢失了部分贴图&#xff0c;但导出的fbx用3ds Max打开却正常显示。 fbx格式使用范围较广&#xff0c;很多常见的三…

Milvus【部署 01】向量数据库Milvus在Linux环境下的在线+离线安装

向量数据库Milvus在Linux环境下的在线离线安装 1.千问简介2.在线安装2.离线安装 1.千问简介 Milvus 是一款专为处理高维向量数据设计的开源云原生数据库&#xff0c;旨在满足海量向量数据的实时召回需求。它由 Zilliz 公司开发并维护&#xff0c;基于Apache许可证2.0版本发布。…