软考26-上午题-图3

一、图的遍历

从图中的某个顶点出发,沿着某条搜索路径对图中的所有顶点进行访问,且,只访问一次的过程。

图的遍历比树的遍历复杂,因为要避免对顶点进行重复访问,所以在图的遍历过程中,必须记下每个已访问过的顶点。

树的遍历:

  • 先序遍历
  • 中序遍历
  • 后序遍历
  • 层次遍历

图的遍历基本方法:

  • 深度优先搜索
  • 广度优先搜索

1-1、深度优先搜索:DFS

示例:

深度遍历涉及到回溯,这是递归的思想。

时间复杂度:

深度优先遍历图的过程实质上是对某个顶点查找其邻接点的过程,其耗费的时间取决于所采用的存储结构

图中的顶点数n,图中的边数e:

(1)当图用邻接矩阵表示时,查找所有顶点的邻接点所需时间为 O(n^2)。

(2)若以邻接表作为图的存储结构,则需要 O(e)的时间复杂度查找所有顶点的邻接点。因此,当以邻接表作为存储结构时,深度优先搜索遍历图的时间复杂度为 O(n + e)。

 

1-2、广度优先搜索BFS

将队头的元素和其所有的相邻节点入队列。

时间复杂度:

遍历图的过程,实质上是通过边找邻接点的过程,因此,广度优先搜索遍历图和深度优先搜索遍历图的运算时间复杂度相同。不同之处仅仅在于对定点的访问次序不同。

 

1-3、真题

真题1:

真题2:

 真题3:

G中任意两个顶点之间均有边存在——完全图 

无向连通图:

        从图中任意顶点出发,可遍历图中所有顶点,

有向连通图:

        从图中任意顶点出发,可遍历图中所有顶点,

真题4:

 

真题5:B、A

强连通图:从图中任意顶点出发,能够遍历图中所有节点。因为V5没有任何出度,所以不能从V5开始遍历,所以,不是强连通图。

真题6:

二、拓扑排序

2-1、AOV网(有向无环图

有向图,以顶点表示活动,以有向边表示活动之间的优先关系,也是活动之间的制约关系。

在AOV网中不应该出现有向环。

2-2、拓扑排序

AOV网代表一个工程计划,AOV网的拓扑排序就是一个工程顺利完成的可行方案。AOV网的拓扑排序,方法如下:

1、在AOV网中选择一个入度为0(没有前驱)的顶点,输出它;

2、从网中删除该顶点及与该顶点有关的所有弧;

3、重复上下两步,直到网中不存在入度为0的顶点为止。

示例:

在AOV网的拓扑序列中,顶点Vi在Vj之前,则:

可能存在弧<Vi,  Vj>,一定不存在弧<Vj,  Vi>;Vi——>Vj

可能存在Vi到Vj的路径,一定不存在Vj到Vi的路径。Vi——>Vx——>Vj

2-3、真题

真题1:

真题2:

 真题3:

真题4:

 真题5:

 

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

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

相关文章

【C/C++】2024春晚刘谦春晚魔术步骤模拟+暴力破解

在这个特别的除夕夜&#xff0c;我们不仅享受了与家人的温馨团聚&#xff0c;还被电视机前的春节联欢晚会深深吸引。特别是&#xff0c;魔术师刘谦的精彩表演&#xff0c;为我们带来了一场视觉和心灵的盛宴。在我的博客“【C/C】2024春晚刘谦春晚魔术步骤模拟暴力破解”中&…

Vulnhub靶机:DC3

一、介绍 运行环境&#xff1a;Virtualbox 攻击机&#xff1a;kali&#xff08;10.0.2.15&#xff09; 靶机&#xff1a;DC3&#xff08;10.0.2.56&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;https://www.vulnhub.com/entry/dc-32,312…

Python爬虫之Ajax分析方法与结果提取

爬虫专栏&#xff1a;http://t.csdnimg.cn/WfCSx Ajax 分析方法 这里还以前面的微博为例&#xff0c;我们知道拖动刷新的内容由 Ajax 加载&#xff0c;而且页面的 URL 没有变化&#xff0c;那么应该到哪里去查看这些 Ajax 请求呢&#xff1f; 1. 查看请求 这里还需要借助浏…

基于Spring Boot的足球青训俱乐部管理后台系统,计算机毕业设计(带源码+论文)

源码获取地址&#xff1a; 码呢-一个专注于技术分享的博客平台一个专注于技术分享的博客平台,大家以共同学习,乐于分享,拥抱开源的价值观进行学习交流http://www.xmbiao.cn/resource-details/1757420859554869250

代码随想录算法训练营Day31 | 455.分发饼干、376.摆动序列、53.最大子数组和

455.分发饼干 很简单的思路&#xff1a;小孩和饼干分别排个序&#xff0c;逐个匹配即可 确实有那种感觉了&#xff1a;这也叫算法吗&#xff1f;&#xff08; int findContentChildren(vector<int>& g, vector<int>& s) {std::sort(g.begin(), g.end())…

openGauss学习笔记-219 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-网络

文章目录 openGauss学习笔记-219 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-网络219.1 查看网络状况 openGauss学习笔记-219 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-网络 获取openGauss节点的CPU、内存、I/O和网络资源使用情况&#xff0c;确认这些资源…

MySQL-----函数篇

目录 ▶ 字符串函数 ▶ 数值函数 ▶ 日期函数 ▶ 流程函数 ▶ 简介 函数是指一段可以直接被另一段程序调用的程序或代码。 ▶ 字符串函数 函数描述实例ASCII(s)返回字符串 s 的第一个字符的 ASCII 码。 返回 CustomerName 字段第一个字母的 ASCII 码&#xff1a; S…

软件实例分享,宠物店兽医电子处方开单系统软件教程

软件实例分享&#xff0c;宠物店兽医电子处方开单系统软件教程 一、软件教程问答 以下教程以 佳易王宠物店兽医电子处方软件V16.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 问&#xff1a;宠物医院电子处方单子使用的纸张大小是多少&…

七天入门大模型 :LLM大模型基础知识最全汇总

七天入门LLM大模型学习 旨在帮助初学者理解和学习LLM的基础概念和实践。 未来七天&#xff0c;我将每天为大家推出一篇课程内容&#xff0c;感兴趣的小伙伴们可关注我们 文章目录 技术交流群用通俗易懂方式讲解系列基础模型研究模型定制新范式LLM类型介绍多模态模型Agent模型C…

国安永远争第一-《软件方法》自测题解析036

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 《软件方法》第5章自测题2 3 [ 单选题 ] 经过连续八轮不胜&#xff0c;穿着绿色球衣的主队终于2:1险胜客队。主场球迷小张兴奋至极&#xff0c;从球场出来后经过街边一台ATM时&#…

不止于浏览器:掌握Node.js,开启全栈开发新篇章!

介绍&#xff1a;Node.js是一个基于Chrome V8引擎的JavaScript运行时环境&#xff0c;特别适合构建高性能的网络服务器和实时应用。具体介绍如下&#xff1a; 服务器端JavaScript&#xff1a;Node.js的核心优势之一是在服务器端运行JavaScript&#xff0c;这使得前端开发者可以…

C++笔记:类与对象的语法

文章目录 1 简单认识面向过程与面向对象1.1 面向过程1.2 面向对象 2 类的引入&#xff1a;struct -> class3 类的定义3.1 class 定义类的语法3.2 成员变量的命名建议 4 类的访问限定符4.1 class 和 struct 的区别4.2 C更喜欢用class定义类的原因 5 类的作用域5.1 声明定义合…