算法笔记(七)—— 图的相关知识及算法

news2024/11/15 7:11:48

图的存储方式

1. 邻接表(记录关于某点的直接相邻点)

2. 邻接矩阵(一定是正方形的矩阵,对点进行编号,点到点的权值由距震中的值表示,无直接相连记为正无穷)

图的模板

unordered_map<int,Node>

unordered_set<Edge>

Node类:值、入度、出度、点发散出去的边连接的邻居、属于该点的边

Edge类:权值(距离)、起始点(from)、终止点(to)

图的宽度优先遍历

使用unordered_set来进行去重,放置重复点进队列

 

图的深度优先遍历

 

拓扑排序

有向无环图,先处理入度为0的点,然后将该点及其影响擦掉,继续寻找入度为0的点,周而复始。

无向图生成最小生成树(K算法 P算法)

保证连通性且整体边权值最小

K算法(从边的角度出发)

1. 对所有边排序,从最小开始考虑

2. 如果加上该边没有形成环则加上,若形成环则考虑下一条边

怎么考虑会不会形成环:假设所有点一开始自己是个集合(都不连通),判断是否有环,看一条边的from和to在不在一个集合,若不在将两个点所在集合合并。

P算法

1. 所有边都被锁定

2. 从某点出发,将该点直接相连的所有边解锁,选权值最小的边(且左右两侧不在一个模型内),将邻点加入,周而复始。

Dijkstra算法(要求没有累加权值为负数的环)

规定出发点 ,该点到所有点的最短距离

1. 初始化,到自己0,到别的点正无穷

2. 从当前最小值对应的点出发,看其所有的边,发现了更短的距离则改写

3. 周而复始即可,直到所有点都作为出发点被遍历到

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

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

相关文章

React(二) —— 组件间的通信方式

&#x1f9c1;个人主页&#xff1a;个人主页 ✌支持我 &#xff1a;点赞&#x1f44d;收藏&#x1f33c;关注&#x1f9e1; 文章目录⛳组件通信的方式&#x1f680;父子组件通信方式父传子子传父ref标记&#xff08;传递数据&#xff09;⛪非父子组件通信方式状态提升&#xf…

微信小程序反编译方法分享

文章目录一、前言二、准备工作&#xff08;一&#xff09;安装Nodejs&#xff08;二&#xff09;解密和逆向工具三、小程序缓存文件解密&#xff08;一&#xff09;定位小程序缓存路径&#xff08;二&#xff09;源码解密&#xff08;三&#xff09;源码反编译四、小结一、前言…

【神级Python代码】作为技术xiao白如何制作一款超炫酷的黑客主题代码雨?牛逼就完了。(源码分享学习)

前言 哈喽&#xff0c;我是木子&#xff0c;今天给大家制作一款超级炫酷的代码啦。 提到《黑K帝国》&#xff0c;字符雨可谓是让人印象深刻。 所有文章完整的素材源码都在&#x1f447;&#x1f447; 粉丝白嫖源码福利&#xff0c;请移步至CSDN社区或文末公众hao即可免费。 ​…

KD04丨震荡动量_波段王

大家好&#xff0c;今天我们分享可达鸭系列第4篇策略——震荡动量。 该篇策略来自于2021-2022年度&#xff0c;量化杂志翻译系列——费雪逆变换。如下图所示&#xff1a; 2023年度加入股票和期货社群&#xff0c;均可以获得当年免费12期历史12期的量化杂志资…

Mysql UDF提权复现Raven2

Raven2通关过程 主要通过Raven2靶机进行复现Mysql UDF提权&#xff0c;以下为通关过程。 靶机镜像&#xff1a;https://www.vulnhub.com/entry/raven-2,269/ 信息收集 拿到靶机ip&#xff1a;192.168.112.129 nmap -sP 192.168.112.0/24探测开放端口&#xff0c;nmap用烂了…

硬件系统工程师宝典(8)-----初识电源完整性分析

各位同学大家好&#xff0c;欢迎继续做客电子工程学习圈&#xff0c;今天我们继续来讲这本书&#xff0c;硬件系统工程师宝典。 上篇我们说到信号的时序设计需要保证数据和时钟信号同步传输。今天我们开始学习电源完整性分析需要考虑什么&#xff1f; PI分析概述 电源完整性…

2023年湖南建筑八大员(材料员)模拟真题及答案

百分百题库提供建筑八大员&#xff08;材料员&#xff09;考试试题、建筑八大员&#xff08;材料员&#xff09;考试预测题、建筑八大员&#xff08;材料员&#xff09;考试真题、建筑八大员&#xff08;材料员&#xff09;证考试题库等,提供在线做题刷题&#xff0c;在线模拟考…

2023年美赛C题 预测Wordle结果Predicting Wordle Results这题太简单了吧

2023年美赛C题 预测Wordle结果Predicting Wordle Results 更新时间&#xff1a;2023-2-17 11:30 1 题目 2023年MCM 问题C:预测Wordle结果![在这里插入图片描述](https://img-blog.csdnimg.cn/e059d917333e497e90ca082605869e3c.png#pic_center) Wordle是纽约时报目前每天提…

对于EVM系链交易缓冲池txpool的理解

区块链就是和交易打交道&#xff0c;我们今天就介绍下&#xff0c;交易处理过程中的一个重要组成部分&#xff1a;txpool。这篇文章主要从功能角度介绍&#xff0c;通过这篇文章会了解&#xff1a; txpool的在交易中的位置和作用。txpool的功能&#xff0c;核心组成部分queued…

停车辅助系统的技术和变化

各种各样的停车辅助系统已经存在了很长时间&#xff0c;但用户经常在不知道什么技术以及它是如何工作的情况下使用它们。 今天我们依次来谈谈停车辅助系统是什么&#xff0c;怎么发展以及如何应用的。 ​ 1.手信号 您可能会想&#xff0c;“为什么手信号是停车辅助系统&#x…

变电站如何解决人力不足问题?这个技能划重点

随着企业的管理水平的不断提高&#xff0c;各企业都建立的大大小小的数据机房。由于机房的大小不同、监测内容不同&#xff0c;费用也不尽相同&#xff0c;而数据机房存储着大量的珍贵数据&#xff0c;一旦丢失损毁会给企业造成不可挽回的损失。 变电站安装机房动环监控系统4大…

MySQL索引类型——有五种

文章目录前言一、MySQL中的索引类型有以下几种1.1 普通索引1.1.1 直接创建索引1.1.2 修改结构的方式添加索引1.1.3 创建表的时候同时创建索引1.1.4 删除索引1.2 唯一索引1.2.1 创建唯一索引1.2.2 修改表结构1.2.3 创建表的时候直接指定1.3 主键索引1.4 组合索引1.5 全文索引1.5…

EdrawMax 12.0.7 Ultimate 多语言版

EdrawMax多合一图表软件。获得市场上最强大、最专业的图表软件。现在比较一下&#xff0c;看看为什么 Lucidchart 是更好的图表解决方案。超过 10,000,000 多个用户。专用支持。Visio 导入和导出。图表和流程图进行可视化、创新和协作创建强大的流程图和视觉效果&#xff0c;以…

个人开源PCB开发板列表汇总

个人开源PCB开发板列表汇总✨首先感谢立创EDA的免费打样和立创一起开源的广大网页。 &#x1f530;STC单片机为主控开源PCB开发板列表 &#x1f4cc;STC15F2K60S2开发板&#xff1a;https://oshwhub.com/perseverance51/stc15f2k60s2-ji-tong-ban &#x1f4cc;STC15W408AS系…

Python3 输入和输出实例及演示

在前面几个章节中&#xff0c;我们其实已经接触了 Python 的输入输出的功能。本章节我们将具体介绍 Python 的输入输出。 输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数。 第3种方式是使用文件对象的 write() 方法&#xff0c;标准输出文件可以用 sys.std…

机器学习洞察 | 一文带你“讲透” JAX

在上篇文章中&#xff0c;我们详细分享了 JAX 这一新兴的机器学习模型的发展和优势&#xff0c;本文我们将通过 Amazon SageMaker 示例展示如何部署并使用 JAX。JAX 的工作机制JAX 的完整工作机制可以用下面这幅图详细解释:图片来源&#xff1a;“Intro to JAX” video on YouT…

python 的selenium自动操控浏览器教程(2)

人生苦短&#xff0c;我用py 文章目录人生苦短&#xff0c;我用py关于部分网页无法找到元素的问题1方案1方案2关于部分网页无法找到元素的问题2解决方案被网站检查出来我们使用了selenium了怎么办&#xff1f;如何实现前进后退当使用py删除文件时报禁止访问怎么办怎么使用py实现…

【服务器数据恢复】存储之间迁移数据时数据损坏的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 一台某品牌的存储设备&#xff0c;Windows操作系统。由于业务需求&#xff0c;需要把这台存储设备中的数据迁移到另外一台存储设备中&#xff0c;在迁移数据过程中突然无法读取数据&#xff0c;管理界面报错。管理员查看服务器内的数据…

【Github的注册】

目录 一、打开官网 二、注册 1、点击右上角的 sign up 2、依次输入邮箱、密码、用户名 3、验证真人&#xff0c;create account&#xff0c;验证码 4、点击“个人“&#xff0c;“学生”&#xff0c;进入另一个页面后滚动鼠标直接点击continue&#xff0c;进入另一个页面后…

Yakit Web Fuzzer 终极能力强化:热加载 Fuzz

Background 在 HTB&#xff1a;BountyHunter 中&#xff0c;我们发现 Web Fuzzer 在使用中可以 “更强”&#xff0c;我们需要编写 Yak 脚本的事情&#xff0c;如果可以经过某些 Web Fuzzer 的优化&#xff0c;可以达到同样的效果。 在一个标签中&#xff0c;我们实现{{base6…