【数据结构与算法】图课后习题

news2024/11/18 1:44:32

题目

下面一共有七道有关图的课后习题,全部都是思路画图题并不是算法设计题故在此就一起列举出来了~

1. 已知如下图所示的有向图,请回答下面几个问题

在这里插入图片描述

  1. 每个顶点的入/出度;
  2. 邻接矩阵;
  3. 邻接表;
  4. 逆邻接表;
  5. 强连通分量

解答

每个顶点的入/出度

(下面将用①+来表示①顶点的入度,①-代表出度,其他顶点类推)

顶点出度顶点入度
①+:3①-:0
②+:2②-:2
③+:1③-:2
④+:1④-:3
⑤+:2⑤-:1
⑥+:2⑥-:3

邻接矩阵

在这里插入图片描述

邻接表

在这里插入图片描述

逆邻接表

在这里插入图片描述

强连通分量

在这里插入图片描述


2. 已知二维数组表示的图的邻接矩阵如下图所示,分别画出自顶点1出发进行遍历所得的深度优先生成树和广度优先生成树。

在这里插入图片描述


解答

顶点1出发进行遍历所得的深度优先生成树

在这里插入图片描述

顶点1出发进行遍历所得的广度优先生成树

在这里插入图片描述


3.针对下图回答下面两个问题

在这里插入图片描述

  1. 写出其邻接矩阵,并按Prim算法求其最小生成树
  2. 写出其邻接表,并按Kruskal算法求其最小生成树

解答

写出其邻接矩阵,并按Prim算法求其最小生成树

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

写出其邻接表,并按Kruskal算法求其最小生成树

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


4. 针对下图回答下面两个问题

在这里插入图片描述

  1. 列出全部可能的拓扑有序序列
  2. 写出其邻接表, 并指出应用课上所学的TopLogicalSort算法求得的是哪一个序列

解答

列出全部可能的拓扑有序序列

  • 152634
  • 512634
  • 156234
  • 516234

写出其邻接表, 并指出应用课上所学的TopLogicalSort算法求得的是哪一个序列

在这里插入图片描述
使用课上所学的TopLogicalSort算法得出的序列是:563412


5. 针对下图AOE网络,计算个活动弧和顶点的相关值

计算个弧的 e ( a i ) , l ( a i ) 的值、各事件(顶点)的 v e ( v i ) , l ( v i ) 计算个弧的e(a_i),l(a_i)的值、各事件(顶点)的ve(v_i),l(v_i) 计算个弧的e(ai)l(ai)的值、各事件(顶点)的ve(vi)l(vi)
在这里插入图片描述


解答

各个弧和顶点的编号如下图所示
在这里插入图片描述

V e ( v i ) Ve(v_i) Ve(vi)

  • V e ( A ) = 1 Ve(A) = 1 Ve(A)=1
  • V e ( B ) = 6 Ve(B) = 6 Ve(B)=6
  • V e ( C ) = 17 ( a → G → H → C ) Ve(C) = 17(a→G→H→C) Ve(C)=17(aGHC)
  • V e ( D ) = 3 Ve(D) = 3 Ve(D)=3
  • V e ( E ) = 25 ( a → G → H → C → E ) Ve(E) = 25(a→G→H→C→E) Ve(E)=25(aGHCE)
  • V e ( F ) = 4 Ve(F) = 4 Ve(F)=4
  • V e ( G ) = 3 Ve(G) = 3 Ve(G)=3
  • V e ( H ) = 13 ( a → G → H ) Ve(H) = 13(a→G→H) Ve(H)=13(aGH)
  • V e ( I ) = 1 Ve(I) = 1 Ve(I)=1
  • V e ( J ) = 31 ( a → G → H → K → J ) Ve(J) = 31(a→G→H→K→J) Ve(J)=31(aGHKJ)
  • V e ( K ) = 22 ( a → G → H → K ) Ve(K) = 22(a→G→H→K) Ve(K)=22(aGHK)
  • V e ( ∞ ) = 43 Ve(∞) = 43 Ve()=43

I ( v i ) I(v_i) I(vi)

  • I ( A ) = 19 I(A) = 19 I(A)=19
  • I ( B ) = 23 I(B) = 23 I(B)=23
  • I ( C ) = 25 I(C) = 25 I(C)=25
  • I ( D ) = 18 I(D) = 18 I(D)=18
  • I ( E ) = 33 I(E) = 33 I(E)=33
  • I ( F ) = 8 I(F) = 8 I(F)=8
  • I ( G ) = 3 I(G) = 3 I(G)=3
  • I ( H ) = 13 I(H) = 13 I(H)=13
  • I ( I ) = 7 I(I) = 7 I(I)=7
  • I ( J ) = 31 I(J) = 31 I(J)=31
  • I ( K ) = 22 I(K) = 22 I(K)=22
  • I ( ∞ ) = 43 I(∞) = 43 I()=43

e ( a i ) e(a_i) e(ai)

  • e ( a 1 ) = 0 e(a_1) = 0 e(a1)=0
  • e ( a 2 ) = 0 e(a_2) = 0 e(a2)=0
  • e ( a 3 ) = 0 e(a_3) = 0 e(a3)=0
  • e ( a 4 ) = 0 e(a_4) = 0 e(a4)=0
  • e ( a 5 ) = 0 e(a_5) = 0 e(a5)=0
  • e ( a 6 ) = 0 e(a_6) = 0 e(a6)=0
  • e ( a 8 ) = 6 e(a_8) = 6 e(a8)=6
  • e ( a 9 ) = 3 e(a_9) = 3 e(a9)=3
  • e ( a 10 ) = 3 e(a_{10}) = 3 e(a10)=3
  • e ( a 11 ) = 3 e(a_{11}) = 3 e(a11)=3
  • e ( a 12 ) = 4 e(a_{12}) = 4 e(a12)=4
  • e ( a 13 ) = 4 e(a_{13}) = 4 e(a13)=4
  • e ( a 14 ) = 3 e(a_{14}) = 3 e(a14)=3
  • e ( a 15 ) = 3 e(a_{15}) = 3 e(a15)=3
  • e ( a 16 ) = 1 e(a_{16}) = 1 e(a16)=1
  • e ( a 17 ) = 17 e(a_{17}) = 17 e(a17)=17
  • e ( a 18 ) = 13 e(a_{18}) = 13 e(a18)=13
  • e ( a 19 ) = 13 e(a_{19}) = 13 e(a19)=13
  • e ( a 20 ) = 13 e(a_{20}) = 13 e(a20)=13
  • e ( a 21 ) = 22 e(a_{21}) = 22 e(a21)=22
  • e ( a 22 ) = 31 e(a_{22}) = 31 e(a22)=31
  • e ( a 23 ) = 31 e(a_{23}) = 31 e(a23)=31
  • e ( a 24 ) = 25 e(a_{24}) = 25 e(a24)=25

l ( a i ) l(a_i) l(ai)

  • l ( a 1 ) = 18 l(a_1) = 18 l(a1)=18
  • l ( a 2 ) = 17 l(a_2) = 17 l(a2)=17
  • l ( a 3 ) = 15 l(a_3) = 15 l(a3)=15
  • l ( a 4 ) = 4 l(a_4) = 4 l(a4)=4
  • l ( a 5 ) = 0 l(a_5) = 0 l(a5)=0
  • l ( a 6 ) = 6 l(a_6) = 6 l(a6)=6
  • l ( a 7 ) = 19 l(a_7) = 19 l(a7)=19
  • l ( a 8 ) = 22 l(a_8) = 22 l(a8)=22
  • l ( a 9 ) = 18 l(a_9) = 18 l(a9)=18
  • l ( a 10 ) = 25 l(a_{10}) = 25 l(a10)=25
  • l ( a 11 ) = 25 l(a_{11}) = 25 l(a11)=25
  • l ( a 12 ) = 27 l(a_{12}) = 27 l(a12)=27
  • l ( a 13 ) = 8 l(a_{13}) = 8 l(a13)=8
  • l ( a 14 ) = 22 l(a_{14}) = 22 l(a14)=22
  • l ( a 15 ) = 3 l(a_{15}) = 3 l(a15)=3
  • l ( a 16 ) = 7 l(a_{16}) = 7 l(a16)=7
  • l ( a 17 ) = 25 l(a_{17}) = 25 l(a17)=25
  • l ( a 18 ) = 21 l(a_{18}) = 21 l(a18)=21
  • l ( a 19 ) = 27 l(a_{19}) = 27 l(a19)=27
  • l ( a 20 ) = 13 l(a_{20}) = 13 l(a20)=13
  • l ( a 21 ) = 22 l(a_{21}) = 22 l(a21)=22
  • l ( a 22 ) = 30 l(a_{22}) =30 l(a22)=30
  • l ( a 23 ) = 31 l(a_{23}) = 31 l(a23)=31
  • l ( a 24 ) = 33 l(a_{24}) = 33 l(a24)=33

6. 利用Dijkstra算法,求图中顶点a到其他各顶点的最短路径,写出执行算法过程中各步的状态

在这里插入图片描述


解答

步骤一

以a为起点初始待定路径表
在这里插入图片描述

步骤二

从待定路径表中选出一条最短的边,设其顶点为新的生长点,并且对剩下每一个生长点进行比较,若以新生长点为中转的路径短于原始路径则替换。
在这里插入图片描述

往后的步骤

对步骤二进行n-2次重复(注:绿色表示当前有新的通路,但路径长度大于原来的路径故步替换,红色为新的通路的路径长度小于原来路径的长度故替换)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


7. 利用Floyd算法,求图中各对顶点间的最短路径

在这里插入图片描述

解答

STEP1:初始邻接矩阵D,和Path

在这里插入图片描述

STEP2:以A为中转点,进行第一次迭代

在这里插入图片描述

STEP3:以B为中转点,进行第二次迭代

在这里插入图片描述

STEP4:以C为中转点,进行第三次迭代

在这里插入图片描述

STEP5:以D为中转点,进行第四次迭代

在这里插入图片描述

STEP6:得出最终的D,和Path矩阵

在这里插入图片描述


结束语

  因为是算法小菜,所以提供的方法和思路可能不是很好,请多多包涵~如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!

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

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

相关文章

Hugging Face应用——图像识别

利用人工智能解决音频、视觉和语言问题。音频分类、图像分类、物体检测、问答、总结、文本分类、翻译等均有大量模型进行参考。 Eg1: 图像识别 图像分类是为整个图像分配标签或类别的任务。每张图像预计只有一个类别。图像分类模型将图像作为输入并返回有关图像所属类别的预测…

OPPO手机上怎么设置阴历或阳历生日提醒?

有不少手机用户现在使用的都是OPPO这个品牌的手机,并且绝大多数用户都表示OPPO手机是比较好用的,不过也有一部分用户在使用手机的过程中遇到了一些问题,例如不知道在OPPO手机上怎么设置阴历或阳历生日提醒,这应该怎么办呢&#xf…

基于matlab开发和评估停车场场景中的视觉定位算法(附源码)

一、前言 本示例展示了如何使用虚幻引擎模拟环境中的合成图像数据开发视觉定位系统。 获取基本事实以评估定位算法在不同条件下的性能是一项具有挑战性的任务。与使用高精度惯性导航系统或差分GPS等更昂贵的方法相比,不同场景下的虚拟仿真是一种经济高效的方法来获…

数字化时代,到底如何认识商业智能BI?

数字化时代,商业智能BI对于企业的落地应用有着巨大价值,逐渐成为了现代企业信息化、数字化转型中的基础建设。 我曾经看到有人在讨论过商业智能BI的部署对于企业是否有实际意义,现在市场的数据已经证明商业智能BI在商业世界中,在…

使用Docker安装RabbitMQ并实现入门案例“Hello World”

RabbitMQ官方文档:RabbitMQ Tutorials — RabbitMQ 一、RabbitMQ安装(Linux下) 你可以选择原始的方式安装配置,也可以使用docker进行安装,方便快捷! 1. 安装docker 没有docker的先安装一下docker&#x…

谷歌和edge浏览器升级到94及以上版本后反复提示安装pageoffice客户端

原因:Chrome开发团队以网络安全为由,强推ssl证书,希望所有部署在公网的网站,全部改用https访问,所以最新的谷歌和edge升级到94版本后对公网上的http请求下的非同域的http请求进行了拦截,于是就出现了目前遇…

一分钟告诉你国内和国外的ai绘画软件哪个好

前几天,我在一次聚会上偶然听到朋友们谈论起创作ai绘画的问题,大家都很热衷于用国内的ai绘画软件来生成自己喜欢的艺术作品,但又不知道国内和国外的ai绘画软件哪个好。正当我们陷入无尽的思考中时,其中一位朋友突然站出来说&#…

【计算机网络】1.5——计算机网络的体系结构

计算机网络的体系结构 概述 计算机网络的体系结构是计算机网络及其构建所应完成功能的精确定义 考题 不属于网络体系结构所描述的内容的是 A、网络的层次 B、每层使用的协议 C、协议的内部实现细节 D、每层必须完成的功能 这些功能的「实现细节」,是遵守这种体系…

SPEC CPU 2017 Ubuntu 20.04 LTS cpu2017-1_0_5.iso 安装、测试 单核成绩 笔记

环境 $ gcc -v Using built-in specs. COLLECT_GCCgcc COLLECT_LTO_WRAPPER/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper OFFLOAD_TARGET_NAMESnvptx-none:amdgcn-amdhsa OFFLOAD_TARGET_DEFAULT1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pk…

vue3中的computed和watch

一、computed 1. vue2和vue3中计算属性用法对比 Vue2中的计算属性 Vue2中的计算属性是通过在Vue实例的computed选项中定义函数来创建的。计算属性会根据依赖的响应式属性进行缓存,只有当依赖的属性发生变化时,计算属性才会重新求值。 举个例子&#x…

【环境配置】Conda报错 requests.exceptions.HTTPError

问题&#xff1a; conda 创建新的虚拟环境时报错 Collecting package metadata (current_repodata.json): done Solving environment: done# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<…

OpenCVForUnity(二)基本图像容器Mat

这里写目录标题 前言Mat指针引用说明存储的方式如何创建一个Mat对像 前言 今天继续学习OpenCV的基本单位Mat. 学计算机的同学都知道在计算机中,你所看到的一切其都是数据的呈现.期最底层的本质皆是0和1的构成的.当然图片,视频等等也不例外.我们用相机,扫描仪核磁共振成像等方式…

OpenAI深夜放大招,GPT4 API全面开放并弃用一系列旧模型

GPT-4 API 现已向所有付费 OpenAI API 客户开放。GPT-3.5 Turbo、DALLE 和 Whisper API 现已普遍可用&#xff0c;我们宣布了一些旧型号的弃用计划&#xff0c;这些型号将于 2024 年初退役。 ✅ GPT4 API面向付费用户开放&#xff0c;不需要再额外申请,并且具有8K上下文&#…

bash文件输入到txt文件中

bash test_bct.sh >> test.txt结果如下

WeeChat 4.0.0 正式发布

导读WeeChat (Wee Enhanced Environment for Chat) 是一款自由开源的轻量级 IRC 客户端&#xff0c;具有高度的可定制特性&#xff0c;并且可以通过脚本进行扩展。 WeeChat 支持大多数的平台和操作系统&#xff0c;例如 Linux、BSD、macOS、Debian GNU/Hurd、HP-UX、Solaris、…

全国产化适配低代码平台,政企数字化的不二选择

编者按&#xff1a;在国家政策及战略方向的指导下&#xff0c;信创产业已成为奠定中国未来发展的重要数字基础&#xff0c;而国产化则可以解决核心技术关键被“卡脖子”的问题。另一方面&#xff0c;低代码平台能够为企业加速交付业务应用&#xff0c;降低运营成本&#xff0c;…

插入排序(思路+代码)

变量&#xff1a; index &#xff1a;代表待插入数的前一个数的下标&#xff0c;依次往回找&#xff0c;找到找到结果。 indexvalue&#xff1a;代表待插入元素的值&#xff0c;找到位置之后往index1的位置插入元素 代码&#xff1a; import java.util.Arrays;public class …

【库表操作】

一、数据库Market中创建表customers 1、创建数据库 #创建数据库 mysql> create database Market; mysql> use Market;2、创建数据表 #创建数据表 mysql> create table customers(-> c_num int(11) primary key auto_increment,-> c_name varchar(50),-> c_…

iOS-配置Universal Links通用链接

1、开启Associated Domains服务 登录苹果开发者网站&#xff0c;在Certificates, Identifiers & Profiles页面左侧选择Identifiers&#xff0c;右侧选择对应的App ID&#xff0c;点击进入配置详情页&#xff0c;开启Associated Domains服务&#xff1b; 2、更新Profile文件…

【动手学习深度学习--逐行代码解析合集】09权重衰减

【动手学习深度学习】逐行代码解析合集 09权重衰减 视频链接&#xff1a;动手学习深度学习–权重衰减 课程主页&#xff1a;https://courses.d2l.ai/zh-v2/ 教材&#xff1a;https://zh-v2.d2l.ai/ 0、准备工作 import matplotlib # 注意这个也要import一次 import matplotli…