【DAY10 软考中级备考笔记】数据结构 图

数据结构 图 3月11日 – 天气:晴

晚上无线网络突然不能用了,花费好久弄这个,耽误了一些时间

1. 图的定义

image-20240311205524245

这里需要注意完全图的定义,以及完全图的边数

image-20240311205623609

这里需要注意连通图和连通分量的概念。

5601710161982_.pic

2. 图的存储结构

图有两种存储结构,分别是邻接矩阵和邻接表。

image-20240311210119758

对于有向图来说,邻接矩阵中每一行1的个数代表了该节点的出度。每一列中1的个数代表了该节点的入度。

对于无向图来说,每一行或每一列1的个数代表了节点的度。

从图中可以看出来,邻接矩阵的存储方式只和节点的个数有关

image-20240311210503915

邻接表的存储方式的特点是,链表中的每一个节点代表图中的一条边。链表中节点的个数等于边的个数。

对于无向图来说,链表中的节点必然是偶数个。

image-20240311210551284

image-20240311210605430

3. 图的遍历方式

image-20240311210624431

image-20240311210631535

这里需要重点记住遍历不同存储方式的图的时间复杂度

image-20240311210722153

4. 图的最小生成树

image-20240311211016876

计算最小生成树的两种算法

image-20240311211053953

Prim算法每次选择一条权值最小的边,并选择出顶点,然后从已经生成的部分中选择一条最小的边与已经生成的部分连接,直到所有的顶点都相连。时间负责度为n^2

它只和顶点的个数有关,因此适用于稠密图(顶点多,边少)

Kruskal算法每一次都选择图中最小的一条边,直到所有的顶点都被连接。

它只和边的个数有关,因此适用于稀疏图。

image-20240311211436456

5. 拓扑排序

image-20240311211616167

每次选择入度为0的节点,删除节点和与之相连边,直到不存在入度为0的顶点

注意:拓扑排序的顺序不一定唯一

image-20240311211906887

6. 关键路径

image-20240311211811630

关键路径可能不唯一

image-20240311211914081

关于最早最晚开始时间以及松弛时间的计算问题:
https://blog.csdn.net/zhangt2333/article/details/107029298

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

7. 最短路径

image-20240311212032184

image-20240311212047908

无需掌握这两种算法具体怎么计算的,考试的时候直接看图就可以找到两个顶点之间的最短路径

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

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

相关文章

ms office学习记录:Word㈣ 布局设计引用选项卡 对应配套作业㈤

⒈页面设置 (主要考查页面设置对话框) 页码范围:对称页边距/拼页(在一张纸上从左往右打印两页内容) 行号可在两个位置设置 若找不到规定纸张大小,则文件→打印→更换驱动打印机 ⒉页面背景 页面颜色&a…

Java操作Sql语句 出现迭代死循环 (Bug排查)

目录 1. 问题所示2. 原理分析3. 解决方法4. 彩蛋1. 问题所示 Java执行Sql语句来查询一些数据的时候 虽说数据量很大,但是查询过程中一直迭代查询 截图如下所示: 2. 原理分析 至于迭代死循环,可能是不满足的条件也进入查询(本身我的数据量就很大) 主要可能引起的两个原…

python使用词袋模型将句子向量化,使用KNN进行文本分类

要使用词袋模型将句子向量化,并使用KNN进行分类,你可以使用Python的sklearn库。以下是一个简单的例子: 加载数据集文本预处理(如分词、去除停用词等)使用词袋模型进行向量化使用KNN进行训练和分类 首先,确…

RockChip Android13 修改U盘挂载目录

环境:Android13 安卓默认U盘挂载目录为设备UUID,如下所示: /dev/block/vold/public:8,0 on /mnt/media_rw/1E46712C467105B5 type fuseblk (rw,dirsync,nosuid,nodev,noatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096) /dev/fuse on /mnt/user/…

自动化运维技术与工具整合

以下这些自动化运维技术与工具覆盖了软件开发和运维的多个关键领域:自动化配置管理、容器化、容器编排、监控与可视化、自动化构建与部署、基础设施及应用配置管理、性能监控,以及日志分析。Ansible 简介: Ansible 是一个开源的自动化平台,用…

C++/CLI学习笔记7(快速打通c++与c#相互调用的桥梁)

3.11 操作符和表达式 操作符说明=赋值操作符 a=b=0;+,-,*,/,%,+=,-=,*=,/=,%=,++,--算术操作符 int a,b,c; a=b=c-0; b=++a; c=b-a+b*a; ... >,>=,<,<=,==,!=关系操作符 a > b // a大于b就返回true a >= b // a大于或等于b就返回true a < b //a小于b就返…

C#/WPF 清理任务栏托盘图标缓存

在我们开发Windows客户端程序时&#xff0c;往往会出现程序退出后&#xff0c;任务还保留之前程序的缓存图标。每打开关闭一次程序&#xff0c;图标会一直增加&#xff0c;导致托盘存放大量缓存图标。为了解决这个问题&#xff0c;我们可以通过下面的程序清理任务栏托盘图标缓存…

【C++函数速查】lower_bound和upper_bound使用方法详细解读

文章目录 1&#xff09;概述2&#xff09;函数使用3&#xff09;案例代码 1&#xff09;概述 l o w e r _ b o u n d ( ) lower\_bound() lower_bound() 和 u p p e r _ b o u n d ( ) upper\_bound() upper_bound() 都是基于二分查找在一个排好序的数组或容器&#xff08;如 …

【UE5】非持枪趴姿移动混合空间

项目资源文末百度网盘自取 创建角色在非持枪状态趴姿移动的动画混合空间 在BlendSpace文件夹中单击右键选择 动画(Animation) 中的混合空间(Blend Space) 选择SK_Female_Skeleton 命名为BS_NormaProne 打开BS_NormaProne 水平轴表示角色的方向&#xff0c;命名为Directi…

C 练习实例76-求倒数和

题目&#xff1a;编写一个函数&#xff0c;输入n为偶数时&#xff0c;调用函数求1/21/4...1/n,当输入n为奇数时&#xff0c;调用函数1/11/3...1/n(利用指针函数)。 代码 #include <stdio.h> void fun1(int n,double *ret) {for(int i1;i<n;i2)*ret1.0/i; } void fun…

SecureCRT出现乱码的解决方法

SecureCRT是一个商业终端连接工具&#xff0c;它支持多种自定义设置。默认设置下&#xff0c;通过SecureCRT连接SSH服务器可能出现中文乱码的情况。这是由于SecureCRT字符编码与服务器的字符编码不一致造成的。 当然解决这个问题也很简单&#xff0c;将SecureCRT字符编码设置成…

ACM记忆化DFS与基于优先队列的BFS

基本概念--记忆化DFS 使用数组保存已经算出来的值&#xff0c;在后续的计算中减少大量的重复计算&#xff0c;提高效率。&#xff08;用于dp不方便&#xff0c;但是搜索方便的情况&#xff0c;可以提升效率。&#xff09; eg. 记忆化dfs求解斐波那契数列 int dfs(int n) {if…

idea Springboot 数码商城系统LayUI框架开发mysql数据库web结构java编程计算机网页

一、源码特点 springboot 数码商城系统是一套完善的完整信息系统&#xff0c;结合mvc框架和LayUI框架完成本系统springboot spring mybatis &#xff0c;对理解JSP java编程开发语言有帮助系统采用springboot框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整…

<网络安全>《67 微课堂<第8课 常见网络安全厂商简介>》

奇安信科技集团股份有限公司 简称&#xff1a;奇安信 英文名称&#xff1a;QiAnXin Technology Group Co., Ltd. 成立时间&#xff1a;2014年 总部位置&#xff1a;中国北京 主营业务&#xff1a;提供企业级网络安全产品、安全解决方案和安全运营服务&#xff0c;专注于网络空…

SpringMVC请求、响应和拦截器的使用

SpringMVC请求 RequestMapping注解 RequestMapping注解的作用是建立请求URL和处理方法之间的对应关系 RequestMapping注解可以作用在方法和类上 1. 作用在类上&#xff1a;第一级的访问目录 2. 作用在方法上&#xff1a;第二级的访问目录 3. 细节&#xff1a;路径可以不编写…

软件设计师:06-程序设计语言与语言处理程序基础

章节章节01-计算机组成原理与体系结构07 - 法律法规与标准化与多媒体基础02 - 操作系统基本原理08 - 设计模式03 - 数据库系统09 - 软件工程04 - 计算机网络10 - 面向对象05 - 数据结构与算法11 - 结构化开发与UML06 - 程序设计语言与语言处理程序基础12 - 下午题历年真题End -…

windows达梦安装

1.首先准备好windows安装系统&#xff0c;准备工作的做好&#xff0c;然后把素材包dm8_20230418_x86_win_64放进去&#xff0c;进行解压 解压完成之后&#xff0c;把dm8_20230418_x86_win_64再次进行解压&#xff0c;然后点击安装setup进行安装 然后点击接受进行下一步&#xf…

[BT]小迪安全2023学习笔记(第24天:Web攻防-SQL注入)

第24天 SQL注入原理 基于攻击者向应用程序输入字段中插入恶意的SQL代码&#xff0c;这些输入最终会被应用程序未经适当清洁或验证直接传递给数据库执行。当这些恶意输入与应用程序的原始SQL语句结合时&#xff0c;它们可以修改原始SQL查询的意图&#xff0c;允许攻击者执行未…

搭建Docker私有仓库registry

下载registry registry是Docker官方提供的仓库镜像 拉取镜像&#xff0c;不指定版本默认拉取最新版本镜像。 docker pull registry Using default tag: latest latest: Pulling from library/registry 79e9f2f55bf5: Pull complete 0d96da54f60b: Pull complete 5b27040df4…

ZooKeeper命令和监控详解

ZooKeeper监控命令详解 在分布式系统中&#xff0c;ZooKeeper作为一个非常重要的协调服务&#xff0c;它的健康状态直接影响到整个系统的可靠性和稳定性。因此&#xff0c;对ZooKeeper进行有效监控是非常必要的。本文将详细介绍ZooKeeper提供的命令行工具zkCli.sh&#xff0c;…