首页 > 其他分享 >软考笔记-有向图的邻接矩阵

软考笔记-有向图的邻接矩阵

时间:2024-10-26 14:42:39浏览次数:6  
标签:有向图 软考 邻接矩阵 V1 V2 V3 V4 V5 V6

软考笔记-有向图的邻接矩阵

下面是2024年上半年的选择题:

对下列有向图的邻接矩阵,进行深度遍历的次序是( )。

V1 V2 V3 V4 V5 V6
18 3
5 4
15
12

A.v1-v2-v3-v4-v5-v6 B.v1-v4-v2-v3-v5-v6

C.v1-v2-v3-v5-v4-V6 D.v1-V2-v5-V4-v3-v6

解答:

题目中给出的图需要优化,方便我们找各个顶点之间的关系,如下:

V1 V2 V3 V4 V5 V6
V1 18 3
V2 5 4
V3
V4 15
V5 12
V6

在这个图中,节点V1到V6之间的连接情况如下(∞表示没有直接边):

  • V1 -> V2 (权重18)
  • V1 -> V3 (权重3)
  • V2 -> V3 (权重5)
  • V2 -> V5 (权重4)
  • V4 -> V2 (权重15)
  • V5 -> V4 (权重12)

深度优先搜索(DFS)是从给定的起始顶点开始,尽可能深地探索每个分支,直到无法继续为止,然后回溯并尝试另一条路径。根据题目提供的邻接矩阵,我们从V1开始进行深度遍历。假设从V1开始:

  1. 从V1出发,可以去V2或V3。
  2. 我们选择先访问V3(也可以先访问V2,但为了简化说明,这里以V3为例)。因此,当前遍历顺序为[V1, V3]。
  3. V3没有其他可访问的邻居,所以回到V1。
  4. 从V1再去V2。现在遍历顺序为[V1, V3, V1, V2]。
  5. 从V2出发,可以选择V3或者V5。由于V3已经被访问过,我们前往V5。遍历顺序更新为[V1, V3, V1, V2, V5]。
  6. 从V5出发,可以去V4。遍历顺序变为[V1, V3, V1, V2, V5, V4]。
  7. V4指向V2,但由于V2已经访问过了,所以停止。因此,一个可能的深度遍历次序是:V1 -> V3 -> V1 -> V2 -> V5 -> V4。

需要注意的是,选项中没有这个选项。原因:如果选择不同的起点或者是对等选项时选择了不同的下一个节点,则最终得到的具体遍历顺序可能会有所不同。例如,如果一开始选择了从V1到V2而不是V3,那么结果会有所变化。

那么我们选择从V1到V2,重复上述步骤:

  1. 从V1出发,可以去V2或V3。
  2. 我们选择先访问V2。因此,当前遍历顺序为[V1, V2]。
  3. V2可以访问V3。所以,当前遍历顺序为[V1, V2,V3]。
  4. V3没有其他可访问的邻居,所以回到V2。[V1, V2,V3,V2]。
  5. 再从V2出发,由于V3访问过了,所以现在访问V5。[V1, V2,V3,V2,V5]。
  6. 再从V5出发,V5只能访问V4。[V1, V2,V3,V2,V5,V4]。
  7. 再从V4出发,V4只能访问V2,但是V2访问过了。当目前只有V6没有访问,看图可知,V6在这个过程中并没有被访问到,因为V6在图中是孤立的节点,没有任何边与之相连。V6的部分实际上是无法通过DFS直接访问到的。如果题目要求包含所有节点,那么V6应该被视为孤立节点,单独处理。所以最后单独访问V6。最终的结果是[V1, V2,V3,V2,V5,V4,V6]。

我们得到的答案是:[V1, V2,V3,V2,V5,V4,V6]

注意我们重复步骤时,为了尽可能详细,回溯V2时保留了再次从V2出发的顶点,这个是可以省略的。所以最终结果是:[V1, V2,V3,V5,V4,V6],选C。

标签:有向图,软考,邻接矩阵,V1,V2,V3,V4,V5,V6
From: https://www.cnblogs.com/microstar/p/18504074

相关文章

  • 【软考中级笔记】软件设计师易混知识点归纳
    一、计算机系统1.1计算机硬件1.2计算机软件1.软件可靠性、可维护性、可用性计算软件可靠性指标公式可靠性:MTTF/(1+MTTF)可用性:MTBF/(1+MTBF)可维护性:1/(1+MTTR)MTTF(MeanTimeToFailure)平均无故障时间MTTF=∑T1/NMTTR(Meantimetorepair)平均修复时间MTTR=∑(T......
  • 数据结构图的最短路径-弗洛伊德算法(有向图+数据结构课本C++代码一比一转C语言+邻接矩
    弗洛伊德算法有向图代码如下:#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<stdlib.h>#include<limits.h>#defineMaxInt32767#defineMVNum100intPath[MVNum][MVNum];//存放前驱索引的intD[MVNum][MVNum];//存放当前已知的权值//图的邻接......
  • 软考刷题记录3
    1.选择题1.将一条指令的执行过程分解为取指、分析和执行三步,按照流水方式执行,若取指时间t取指=4△t、分析时间t分析=2△t、执行时间t执行=3△t,则执行完100条指令,需要的时间为()△t。A.200B.300C.400D.405答案:D流水线时间计算公式:T=第一条指令执行所需时间+(指令条数-1)×流水线......
  • 2024年软件设计师中级(软考中级)详细笔记【7】面向对象技术(上)(分值10+)
    目录前言第7章面向对象技术(上)7.1面向对象基础(3-4分)7.1.1面向对象的基本概念7.1.2面向对象分析(熟记)7.1.3面向对象设计7.1.4面向对象程序设计7.1.5面向对象测试7.2UML(3~4分)7.2.1事务7.2.2关系7.2.2.1多重度7.2.3UML中的的图结语前言在备考软件设......
  • 软考成绩的合格标准是多少?
    根据《关于33项专业技术人员职业资格考试实行相对固定合格标准有关事项的通告》,自2022年度起,计算机软件资格考试实行相对固定的合格标准,初、中、高级各科目合格标准为试卷满分的60%。而软考各科目满分为75分,所以软考成绩合格标准为45分,考生在一次考试中各科目达到45分即可通过软考......
  • 软考刷题记录2
    1.选择题1.以下关于总线的叙述中,不正确的是()。A.并行总线适合近距离高速数据传输B.串行总线适合长距离数据传输C.单总线结构在一个总线上适应不同种类的设备,设计简单且性能很高D.专用总线在设计上可以与连接设备实现最佳匹配答案:C解析:单总线结构如上图所示。计算机的各......
  • 2024年软件设计师中级(软考中级)详细笔记【9】数据库技术基础(分值6分)
    目录前言第9章数据库技术基础(6分)9.1基本概念9.1.1数据库与数据库系统9.1.5数据库的三级模式结构9.2数据模型9.2.1数据模型的基本概念9.2.2数据模型的三要素9.2.3E-R模型9.2.4数据模型9.3关系代数9.3.1关系数据库的基本概念9.3.1.1关系模型9.3.25种基本的......
  • 软考论文论湖仓一体架构及其应用
    一、论文论据数据仓库是从各种外部数据源、各种内部应用程序中定期提取数据的大型存储库。数据湖是一个以原始格式存储数据的平台,不需要定义数据按原样存储数据,而无需事先对数据进行结构化处理或者定义数据模式,数据湖仓虽然适合数据的存储,但由于不支持事务、缺乏一致性/隔离性、......
  • 软考论文之论软件维护方法及其应用
    一、论点论据软件维护,就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。可以选择以下4~5种主要的影响软件维护工作的因素,进行论述影响软件维护工作的主要因素有:1、可理解性:通过阅读源代码和文档,了解软件功能和运行的容易程度。2、可测试性:验证软件程......
  • 基于nodejs+vue基于Web的软考题库平台[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于软考相关平台的研究,现有研究主要以软考知识体系、软考备考策略等为主。专门针对基于Web的软考题库平台的研究较少。在软考的普及过程中,虽然有一些软......