数据结构第7次练习-图(基础篇)

一:判断题

1-1

答案:T

解析:c到a的最短路径是12+2=14,所以是大于10的

 1-2

 答案:T

一个连通分量要进行一次广度优先搜索

 1-3

 答案:F

解析:是存在等于顶点的个数减一的情况,比如三个顶点用两个边连接,是一个连通的,他的边数就是顶点数-1

 1-4

 

答案:T

解析:无向图的邻接矩阵沿主对角线对称;
在这里插入图片描述

 1-5

 答案:T

解析:边数*2

 1-6

 

 答案:F

解析:如果顶点数为3,边为3,那就是一个一个完全图,不存在度为1的顶点

1-7

 

答案;T
解析:Prim算法是一种用于求解最小生成树的贪心算法。它通过每一步选择一个与当前生成树相连的顶点,并添加一条边连接该顶点和生成树中的某个顶点,从而逐步生成最小生成树。
具体来说,Prim算法的步骤如下:
初始化一个空的生成树和一个空的顶点集合。
从任意一个顶点开始,将其加入生成树,并将其相邻的边加入边集合。
从边集合中选择权重最小的边,并将其连接的顶点加入生成树和顶点集合。
重复步骤3,直到所有顶点都加入生成树。
最终生成的树就是最小生成树。
通过每一步选择权重最小的边,Prim算法保证了生成的树是最小生成树,即树中所有边的权重之和最小。

 1-8

答案:T

解析:邻接矩阵是一种常见的图的表示方法,它使用一个二维数组来表示图中的顶点之间的连接关系。对于一个有n个顶点的图,邻接矩阵是一个n×n的矩阵,其中矩阵的每个元素表示两个顶点之间是否存在边。
在邻接矩阵中,如果顶点i和顶点j之间存在边,则邻接矩阵的第i行第j列和第j行第i列的元素为1;如果它们之间不存在边,则对应的元素为0。对于无向图来说,邻接矩阵是对称的。
使用邻接矩阵法存储图的优点是:
存储空间占用只与图中结点个数有关,而与边数无关。因为邻接矩阵只需要一个二维数组来表示连接关系,不需要额外的空间来存储边的信息。
可以快速判断两个顶点之间是否存在边,只需要访问邻接矩阵中的对应元素即可。
可以方便地获取顶点的度数,即与该顶点相连的边的数量。
然而,邻接矩阵法也有一些缺点,主要是在稀疏图(边数相对较少)的情况下,会浪费大量的存储空间。

 1-9

 

 答案:T

解析:有向图的全部入度之和与出度之和想等,并且等于边数

1.所有顶点的度数之和 等于 边数的二倍。
2.所有顶点的入度之和 等于 出度之和。
3.n个顶点的有向完全图有n*(n-1)条边。
4.n个顶点的强连通图至少有n条边。

1-10

 答案:F

解析:克鲁斯卡尔算法是维护一个森林,每一步把两棵树合并成一棵;

 二:选择题

2-1

 答案:A

解析:邻接矩阵是用二维数组来表示节点之间的关系,二维数组的个数就是N*N;

 2-2

答案:C

解析:完全图的时候,顶点的度最大,最大是N*(N-1),所以是顶点数的N-1倍

 2-3

 

答案:B

解析:图的深度遍历是适用于有向图的。深度遍历是一种通过探索图中的深层节点来遍历图的算法。它可以应用于有向图和无向图,无论图中的边是有向还是无向的。
在深度遍历中,从起始节点开始,沿着一条路径尽可能深入图中,直到无法继续深入为止,然后回溯到上一个节点,继续探索其他路径。这个过程会递归地进行,直到遍历完所有的节点。
 

 2-4

答案:D

解析:这个题没啥好说的,v2和v3之间都没有路径

 2-5

 

答案:A

解析:没啥好说的,最短路径问题,给的答案只有迪杰斯特拉算法可以

 2-6

答案;D

解析:.所有顶点的度数之和 等于 边数的二倍。
2.n个顶点的无向完全图有 n(n-1)/2 条边。
3.n个顶点的连通图至少有 n-1 条边。

 2-7

答案;B

解析:如果v1和v5有边,如果进行深度遍历的话就不会出现v4,v5的情况

先看A,v0和v6无所谓,因为v4,v5,v6是先访问的

再看C,v4和v6也无所谓,因为v4 v5 会先访问掉

再看D V0和V2也无所谓,因为前面这些节点都会被先访问到

 2-8

答案:B

解析:

深度优先搜索(DFS)是一种遍历图的算法,它可以用于检测有向图中是否存在回路。在深度优先搜索中,我们从一个起始节点开始,沿着一条路径尽可能深入图中,直到无法继续深入为止。如果在搜索过程中遇到已经访问过的节点,则说明存在回路。
通过使用深度优先搜索,我们可以在有向图中检测到回路的存在。如果在搜索过程中遇到一个已经访问过的节点,那么说明存在回路。

 2-9

答案;B

解析:无向图肯定都是对称的,因为一个边连接两个节点,从v1可以到达v2,从v2也可以到达v1,a12=1,a21也等于1,但是对于有向图来说可以有两个顶点两条边,也可以一条边,也就是a12=1,a21不一定有边等于1

 2-10

 答案:C

 解析:迪斯科拉算法就是为了解决最短路径问题

 2-11

答案:D

解析:16边*2=32,32-3*12-3*12=8,其他顶点的度均小于3,可以是2,也可以是1,当为2时,8/2=4,4个顶点,此时顶点个数最少,加上之前的,3+4+4=11;

 2-12

 

 答案:C

 解析:

 2-13

答案:D

解析:广度优先搜索==层序遍历

从V1出发,第一层指向地址2,地址2的节点为V3,第二次指向地址1,地址1的节点为v2,第三次指向地址3,地址三的节点为v4

第二轮到V3,第一次指向地址3,地址3走过了跳过,第二次指向了地址4,地址4的节点为v5

v1->v3->v2->v4->v5;

2-14​​​

答案:B

1.a e b c d

2.a b c e d

3.a b e c d

 2-15

 答案:D

解析:入度就是对应列标的非零元素的个数

 2-16

答案:C 

 2-17

 答案:A

n个顶点的完全无向图的边的n(n-1)/2;

 2-18

 答案:B

解析:矩阵只要顶点

邻接表是顶点数组加边实现的

 2-19

 答案:A

解析:不唯一,可以有多个最小生成树

 2-20

答案:C

解析:这个没啥好说的,看箭头就行了,入度是箭头指向,出度是箭头指出,查个数就行

 2-21

 答案:C

解析:

有向图的全部入度之和与出度之和想等,并且等于边数

1.所有顶点的度数之和 等于 边数的二倍。
2.所有顶点的入度之和 等于 出度之和。
3.n个顶点的有向完全图有n*(n-1)条边。
4.n个顶点的强连通图至少有n条边。

 2-22

 答案:D

 解析:明显这个2不对,因为他还有前驱节点1指向他自个

2-23

 答案:A

 解析:深度类似于先序遍历,没啥好说的

 2-24

​​​​​​​

 答案:C

 2-25

​​​​​​​

 答案:A

深度优先遍历算法的时间复杂度取决于节点和边的数量。在邻接表表示中,每个节点的邻接表存储了与其相邻的节点,而每条边只会在两个节点的邻接表中出现一次。
在深度优先遍历算法中,我们会遍历每个节点,并且对于每个节点,我们会访问其邻接节点。因此,时间复杂度可以表示为O(N+E),其中N是节点的数量,E是边的数量。

 2-26

 答案:7,n(n-1)/2=15;n=6,6+1=7;

 2-27

 答案:B

解析:邻接表查入度需要遍历所有节点。

 2-28

 答案:A

解析:4的路径长度为14最大,3的最短路径长度为7,6的最短路径长度为9

2-29

 答案:D

 在AOE网中,从源点到汇点最长的路径称为关键路径

 2-30

 答案:C

肯定是连通的,如果不连通,从某一顶点出发无法访问到其他全部顶点

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flask项目Day1,Flask常见第三方拓展包

拉项目 git clone https://gitee.com/hahaguai007/python-flask-mysql.git git clone 项目地址运行后即可获取项目 2.创建数据库 在MySQL中创建一个数据库,名字自己定,然后修改RealProject\settings.py里的SQLALCHEMY_DATABASE_URI,格式为 …

【TiDB理论知识04】TiKV-分布式事务与MVCC

分布式事务 下面一个事务 里面有两个更新,分别将id1的Tom改为Jack,将id2的zhangsan 改为 lisi。在MySQL中这个事务很普通,但是在分布式数据库TiDB 中的会遇到什么问题呢? begin; (1,Tom) --> (1,Jack) (2,zhangsan) --> (2,lisi) commit; 比如(…

简单弄懂DDOS攻击

DDoS攻击是网络安全领域中最常见的攻击之一。攻击者通过利用大量合法请求,占用目标服务器的网络带宽和系统资源,从而使目标系统无法正常运行。本文将介绍DDoS攻击的特点和常见类型,以及如何辨别和应对DDoS攻击,并提供Python代码演…

EM32DX-C4【C#】站15

1外观: J301 直流 24V 电源输入 CAN0 CAN0 总线接口 CAN1 CAN1 总线接口 J201 IO 接线段子 S301-1、S301-2 输出口初始电平拨码设置 S301-3~S301-6 模块 CAN ID 站号拨码开关 S301-7 模块波特率拨码设置 S301-8 终端电阻选择开关 2DI: 公共端是…

HTTP之跨域

HTTP之跨域 跨域(Cors)两种请求简单请求浏览器不同的处理方式Access-Control-Allow-OriginAccess-Control-Allow-CredentialswithCredentials属性 非简单请求服务器回应:什么时候会触发OPTIONS(预检请求)呢&#xff1f…

Go中的延时执行魔法:深入浅出defer用法

一、defer 介绍 1、defer 特性 关键字 defer 用于注册延迟调用这些调用直到 return 前才被执行,因此,可以用来做资源清理多个 defer 语句,按先进后出的方式执行defer 语句中的变量,在 defer 声明是就决定了 2、defer 用途 关闭…

re:invent 2023 Amazon Q 初体验

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre,知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 前言 亚马逊云科技在2023 re:Invent全球大会上宣布推出 Amazon…

C++ 函数进阶

目录 缺省参数 缺省参数的分类 全缺省参数 半缺省参数 缺省参数应用 占位参数 函数重载 函数重载注意事项 C支持函数重载的原理 缺省参数 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。 在调用该函数时,如果没有指定实参则采用该形参的缺省值…

【无标题】从0到1 搭建一个vue3+Django项目

目录 一、后端项目python django二、前端项目vitevue3三、后端配置3.1 将路由指向app3.2 app下创建urls.py, 写入路由3.3 views写入test函数3.4 启动服务,访问路由 四、前端配置4.1 安装一些工具库及创建文件4.1.1 安装需要用的三方库4.1.2 创建文件 4.2…

探索 IndexedDB 的世界:大规模数据存储的解决方案

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

MySQL 数据库如何实现 XA 规范?

本文我们来讨论 MySQL 的 XA 规范有哪些应用相关的内容。 MySQL 为我们提供了分布式事务解决方案,在前面的内容中提到过 binlog 的同步,其实是 MySQL XA 规范的一个应用,那么 XA 规范是如何定义的,具体又是如何应用的呢&#xff…

『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium

『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium 1 关于Android UI自动化测试2 Appium简介3 Appium原理3.1 Android端过程3.2 iOS端过程 4 补充内容5 JDK下载6 JDK配置7 SDK下载8 SDK配置9 配置Android环境10 安装NodeJs11 解决node安…

chineseocr项目不使用web推理-docker容器化

整个流程介绍 拉取 ufoym/deepo 镜像 -- 因为包含了主流深度学习框架,镜像4G出头。拉取 chineseocr 项目代码。修改代码,不使用web,增加命令行传入图片路径的功能打包成docker镜像。 开始 拉取 ufoym/deepo 镜像 :cpu版本为例 do…

Gitlab代码集成阿里代码检查P3C

文章目录 一、获取P3C-PMD1、下载源码2、打包3、上传文件 二、创建hooks1、指定项目2、全局设置 三、使用 一、获取P3C-PMD 1、下载源码 源码地址:https://github.com/alibaba/p3c 也可以直接下载打包好的文件, p3c-pmd-2.1.1-jar.zip: https://pan…

Javaweb之前端工程打包部署的详细解析

6 打包部署 我们的前端工程开发好了,但是我们需要发布,那么如何发布呢?主要分为2步: 前端工程打包 通过nginx服务器发布前端工程 6.1 前端工程打包 接下来我们先来对前端工程进行打包 我们直接通过VS Code的NPM脚本中提供的…

Python与PHP:编写大型爬虫的适用性比较

目录 一、引言 二、Python编写爬虫的优势 1、强大的数据处理能力 2、丰富的网络库和框架 3、良好的可读性和易维护性 4、社区支持和生态系统 三、PHP编写爬虫的优势 1、简单易学 2、广泛的应用领域 3、高效的性能 4、灵活的请求处理方式 四、大型爬虫的编写实例&am…

java开发神器之ecplise的基本使用

java开发神器之ecplise的基本使用 一、ecplise的安装二、利用ecplise创建工作空间 一、ecplise的安装 免安装eclipse程序包 二、利用ecplise创建工作空间 1、准备好eclipse的程序包,右键执行程序。 2、若打开eclipse显示如下第一张图的界面提示,是因…

生产环境_从数据到层级结构JSON:使用Spark构建多层次树形数据_父子关系生成

代码补充了!兄弟萌 造的样例数据 val data Seq(("USA", "Male", "Asian", "Chinese"),("USA", "Female", "Asian", "Chinese"),("USA", "Male", "Bl…

网络之路26:STP生成树协议

正文共:2222 字 19 图,预估阅读时间:3 分钟 目录 网络之路第一章:Windows系统中的网络 0、序言 1、Windows系统中的网络1.1、桌面中的网卡1.2、命令行中的网卡1.3、路由表1.4、家用路由器 网络之路第二章:认识企业设备…

碳信用市场的未来:中碳CCNG的愿景

在全球碳减排努力日益增强的背景下,中国碳中和发展集团有限公司(简称中碳CCNG)正以其创新的碳交易平台引领行业新趋势。中碳CCNG提供的一站式综合服务不仅包括碳信用的托管、买卖和抵消,而且通过其综合性数字平台,促进…