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

news2024/11/16 20:26:28

数据结构 图 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

7. 最短路径

image-20240311212032184

image-20240311212047908

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

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

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

相关文章

PortSwigger 基于dom的漏洞-利用 DOM 破坏来启用 XSS

进入实验随意进入一篇博客 我们可以尝试随意提交一些恶意代码看看会发生什么 很显然我们提交成功了但是我们的恶意代码貌似被过滤了 查看源码发现这里有一个过滤框架 我们打开源码分析 function loadComments(postCommentPath) {let xhr new XMLHttpRequest();xhr.onreadys…

植物病害识别:YOLO水稻病害识别/分类数据集(2000多张,2个类别,yolo标注)

YOLO水稻病害识别/分类数据集,包含疾病和正常2类,共2000多张图像,yolo标注完整,可直接训练。 适用于CV项目,毕设,科研,实验等 需要此数据集或其他任何数据集请私信

基于单片机的视觉导航小车设计

目 录 摘 要 I Abstract II 引 言 1 1 总体方案设计 3 1.1 方案论证 3 1.2 项目总体设计 3 2 项目硬件设计 4 2.1 主控模块设计 4 2.1.1单片机选型 4 2.1.2 STM32F103RCT6芯片 4 2.2单片机最小系统电路 5 2.3电机驱动模块设计 7 2.4红外模块设计 8 2.5红外遥控模块设计 9 2.6超…

Logseq电脑端+安卓端同步gitee或github

文章目录 0.初衷1.电脑端1.1 新建仓库1.2 克隆项目,生成秘钥1.3 添加图谱,选择文件目录,我是原本就有笔记,所以会如下所示。1.4 下载脚本文件1.5赋权限 (windows可跳过)1.6 修改脚本命令1.7 logseq设置同步…

Docker命令大全与实例详解

本文旨在汇总和深入解析日常工作与学习中频繁接触到的Docker核心命令,通过实例演示来巩固记忆,以便读者在实际操作中迅速查阅和高效运用。Docker作为一种轻量级容器技术,已经成为现代应用部署与管理的重要工具。本文将涵盖从基本的Docker环境…

公网ip和局域网ip

什么是公网IP? 公网,俗称外网,又被叫做互联网,是连接不同地区局域网或者城域网计算机的通信的远程网络。通常可以跨接很大的物理范围,连接多个地区、城市和国家提供远距离通信,形成全球性的互联网络。因此…

MySQL临时表创建出错(OS errno 13 - Permission denied)

一个客户向我抱怨:在MySQL查询小表没有问题,查询大表出错,下面是他发给我的出错的部分截屏(客户的表名被我隐藏了)。 这里的给出的信息已经比较明显了,是向/tmp目录中创建临时表失败(临时表的路…

555经典电路

1、555介绍: 555 定时器是一种模拟和数字功能相结合的中规模集成器件。一般用双极性工艺制作的称为 555,用 CMOS 工艺制作的称为 7555,除单定时器外,还有对应的双定时器 556/7556。555 定时器的电源电压范围宽,可在 4…

YoLo进化史《A COMPREHENSIVE REVIEW OF YOLO: FROM YOLOV1 TOYOLOV8 AND BEYOND》

Abstract YOLO已成为机器人、无人驾驶汽车和视频监控应用的核心实时目标检测系统。我们对YOLO的发展进行了全面的分析,研究了从最初的YOLO到YOLOv8的每次迭代中的创新和贡献。我们首先描述标准指标和后处理;然后,我们讨论了网络架构的主要变化和每个模型…

工具篇--分布式定时任务springBoot--elasticjob简单使用(1)

文章目录 前言一、elasticjob 介绍:二、elasticjob 使用:2.1 部署zookeeper:2.2 引入库2.2 定义任务:2.3 任务执行:2.4 任务执行控制台输出: 三、elasticjob 启动错误:3.1 KeeperErrorCode Ope…

数据结构->双向链表带你体验开火车(哨兵)与拼接火车(应用)厢的乐趣

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青-CSDN博客 目的:学习双向带头链表的增,删,查,销毁…

Vue+SpringBoot打造个人健康管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 健康档案模块2.2 体检档案模块2.3 健康咨询模块 三、系统展示四、核心代码4.1 查询健康档案4.2 新增健康档案4.3 查询体检档案4.4 新增体检档案4.5 新增健康咨询 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpri…

PyTorch 源码解读之 torch.cuda.amp: 自动混合精度详解

PyTorch 源码解读之 torch.cuda.amp: 自动混合精度详解 Nvidia 在 Volta 架构中引入 Tensor Core 单元,来支持 FP32 和 FP16 混合精度计算。也在 2018 年提出一个 PyTorch 拓展 apex,来支持模型参数自动混合精度训练。自动混合精度(Automati…

2024.03.11作业

1. 提示并输入一个字符串&#xff0c;统计该字符串中大写小写字母个数&#xff0c;数字个数&#xff0c;空格个数以及其他字符个数&#xff0c;要求使用c风格字符串完成 #include <iostream> #include <string>using namespace std;int main() {cout << &qu…

蓝桥杯2023年第十四届Java省赛真题-矩形总面积

题目描述 平面上有个两个矩形 R1 和 R2&#xff0c;它们各边都与坐标轴平行。设 (x1, y1) 和(x2, y2) 依次是 R1 的左下角和右上角坐标&#xff0c;(x3, y3) 和 (x4, y4) 依次是 R2 的左下角和右上角坐标&#xff0c;请你计算 R1 和 R2 的总面积是多少&#xff1f; 注意&…

设计模式深度解析:工厂方法模式与抽象工厂模式的深度对比

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 探索设计模式的魅力&#xff1a;工厂方法模式文章浏览阅读17k次&#xff0c;点赞105次&#xff0…

根据xlsx文件第一列的网址爬虫(selenium)

seleniumXpath 在与该ipynb文件同文件下新增一个111.xlsx&#xff0c;第一列放一堆需要爬虫的同样式网页 然后使用seleniumXpath爬虫 from selenium import webdriver from selenium.webdriver.common.by import By import openpyxl import timedef crawl_data(driver, url)…

2024年零基础自学网络安全/Web安全,看这一篇就够了

作为一个安全从业人员&#xff0c;我自知web安全的概念太过于宽泛&#xff0c;我本人了解的也并不够精深&#xff0c;还需要继续学习。 但又不想新入行的人走弯路&#xff0c;所以今天随手写写关于web安全的内容&#xff0c;希望对初次遇到web安全问题的同学提供帮助&#xff…

334.递增的三元子序列

题目&#xff1a;给你一个整数数组 nums &#xff0c;判断这个数组中是否存在长度为 3 的递增子序列。 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k &#xff0c;使得 nums[i] < nums[j] < nums[k] &#xff0c;返回 true &#xff1b;否则&#xff0c;…

Nginx+keepalived实现七层的负载均衡的高可用

目录 Nginxkeepalived实现七层的负载均衡的高可用 一、准备服务器 1、主机清单 2、配置安装nginx 所有的机器&#xff0c;关闭防火墙和selinux 3.安装nginx&#xff0c; 全部4台 二、部署负载均衡 1、修改nginx的配置文件&#xff0c;添加以下内容&#xff0c; 2、重启n…