图的应用(考研)

news2024/7/6 8:54:01

一、最小生成树

性质:

(1)不唯一(2)权值之和是唯一的(3)删去一条边会变成非连通图,增加一条边会产生回路(4)最小生成树的边数为顶点数减一

1、Prim算法

m个顶点,n条边

算法过程:每次选择距离当前集合的最短路径,直至所有的点加入

初始化:向空树加入图中的任意顶点

循环:选择图内距离当前图的最短路径,并加入

时间复杂度:O(n^2)   不依赖于边的数量,适用于边稠密图

2、Kruskal算法

算法过程:选择距离最短且连通两个不同的联通分量上的边加入空树

时间复杂度:

        使用堆存放边:O(log_{2}m)

        使用并查集:O(mlog_{2}m)

适用于边稀疏图

二、最短路径

1、Dijkstra算法(贪心)

负权边不适用

算法过程:

1、选择源点,集合S为最短路径集合,V为全部路径集合

2、选择源点距离|V-S|的最短路径,更新最短路径集合

 2、Floyd算法(动态规划)

算法过程:

通过状态转移方程更新矩阵

A^{(k)}[i][j] = Min\left \{A^{(k-1)}[i][j], A^{(k-1)}[i][k] + A^{(k-1)}[k][j] \right \}

​​​​​​​

(1)初始:\begin{bmatrix} 0 & 6 & 13\\ 10 & 0 & 4\\ 5 & \infty & 0 \end{bmatrix}  

(2)以A为中间点,B-A-C=  11 

更新一次后:A^{(0)}=\begin{bmatrix} 0 & 6 & 13\\ 10 & 0 & 4\\ 5 & 11 & 0 \end{bmatrix}

……不断更新至A^{(2)} = \begin{bmatrix} 0 & 6 & 10\\ 9 & 0 & 4\\ 5 & 11 & 0 \end{bmatrix}

 三、拓扑排序(判断图是否有环)

(1)每个顶点出现且只出现一次

(2)若顶点A在序列中排在顶点B的前面,则在图中不存在从顶点B到顶点A的路径

1、关键路径(考题)

关键活动 :l(i) - e(i) = 0 

顶点表示事件,有向边表示活动

a.某事件发生后,从该顶点出发的活动才能开始

b.指向某事件的所有活动结束时,该事件才能发生

tips:

1、关键路径不唯一,只有加快所有关键路径上共同的关键活动才能缩短工期

2、不能任意缩短关键路径,可能会导致该路径变为非关键路径

​​​​​​​

(1)事件最早发生时间ve(k)

从vi到vk的最长路径长度,从前往后计算

ve(k) = Max{ve(j)+weight(vj,vk)}

计算步骤:

初始:ve(1) = 0//每道题都一样

比较:当前节点k所有被指向的节点j之间进行比较中的最大值——边的权值加上ve(j)

——ve(2) = ve(1) + 3 = 3 , ve(3) = ve(1) + 2 = 2

——ve(4) = max{ve(2) + 2 , ve(3) + 4} = 6

……

(2)时间最迟发生时间vl(k)

最迟必须发生时间

从后往前计算,逆拓扑排序

vl(k) = Min{vl(j) - Weight(vk,vj)}

计算步骤:

初始:vl(n) = 8

比较:当前节点k所有指向的节点j之间进行比较中的最小值——边的权值加上ve(j)

(3)活动最早开始时间e(k)

        e(i) = ve(k)

        等于第i条边的起点的ve(k)

(4)活动最迟开始时间l(i)

        l(i) = vl(j) - w(vk,vj)  

第i条边的终点的vl(j)减去边的权值 

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

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

相关文章

第P2周:彩色图片识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 我的环境: 语言环境:Python3.10.7编译器:VScode深度学习环境:TensorFlow 2.13.0 一、前期工作: …

生产制造型企业BOM搭建分析

导 读 ( 文/ 2358 ) 在上几篇文章中,我们讲到了基础的物料管理方法,在生产制造中,物料作为原材料,通过加工,结构组装成产品。那么加工、组装的依据将来源于设计人员出具的零件清单,也就是我们常说的BOM。 …

本地编译angular提示内存溢出

本地遇到编译angular时,报如下错误: FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory 两种解决办法,具体如下: 设置环境变量,见图: 直接在…

cortex-A7核LED灯实验--STM32MP157

实验目的:实现LED1 / LED2 / LED3三盏灯工作 一,分析电路图 1,思路 分析电路图可知: 网络编号 引脚编号 LED1 PE10 LED2 > PF10 LED3 > PE8 2,工作原理: 写1:LED灯亮&#xf…

小猫爪:嵌入式小知识17-XCP on CAN简介

小猫爪:嵌入式小知识17-XCP on CAN简介 0 目录1 前言2 XCP on CAN3 实战演练3.1 CONNECT3.2 GET_COMM_MODE_INFO和GET_STATUS3.3 GET_SEED和UNLOCK3.4 获取Slave信息3.5 SET_MTA和BUILD_CHECKSUM3.6 设置DAQ3.7 DAQ传输3.8 SHORT_UPLOAD3.9 标定3.10 FLASH Program …

算法笔记(三):数组

静态数组 动态数组 把动态数组封装为一个类 1、属性 public class DynamicArray implements Iterable<Integer> {private int size 0; // 逻辑大小(有效的元素个数)private int capacity 8; // 容量private int[] array {}; // 动态数组 }2、方法 1&#xff…

癌症预测新利器:弹性逻辑回归让健康更可控!

一、引言 癌症是全球范围内健康领域的重大挑战&#xff0c;早期预测和诊断对于提高治疗效果和生存率至关重要。在过去的几十年里&#xff0c;随着医学和数据科学的快速发展&#xff0c;基于机器学习和统计方法的癌症风险预测成为研究的热点。其中&#xff0c;弹性逻辑回归作为一…

数据结构之哈希

哈希 1. 哈希概念2. 哈希冲突3. 哈希冲突解决3.1 哈希表的闭散列3.2 哈希表的开散列 2. 哈希的应用2.1 位图2.2 布隆过滤器 哈希&#xff08;Hash&#xff09;是一种将任意长度的二进制明文映射为较短的二进制串的算法。它是一种重要的存储方式&#xff0c;也是一种常见的检索方…

Unity——拖尾特效

拖尾是一种很酷的特效。拖尾的原理来自人类的视觉残留&#xff1a;观察快速移动的明亮物体&#xff0c;会看到物体移动的轨迹。摄像机通过调整快门时间&#xff0c;也可以拍出具有拖尾效果的照片&#xff0c;如在城市的夜景中&#xff0c;汽车的尾灯拖曳出红色的线条。 在较老…

平安健康,找到了医疗服务的价值密码

健康是人类的永恒需求&#xff0c;围绕医疗和健康服务衍生的产业&#xff0c;却苦于无法和用户建立足够紧密、长期的联系。由此&#xff0c;也不得不面临价值从何而来的问题。 作为医疗服务领域的代表性企业&#xff0c;平安健康医疗科技有限公司&#xff08;股票简称“平安好…

Oracle解锁表、包、用户、杀会话、停job

Oracle解锁表、包、用户、杀会话、停job 一、创建包tzq_server_pkg二、授权给需要使用的用户log三、解锁表&#xff1a;执行存过unlock_table(schema_name, table_name)四、解锁包&#xff1a;执行存过unlock_package(schema_name, pkg_name)五、解锁用户&#xff1a;执行存过u…

14-数据结构-二叉树的创建以及前中后遍历,以及结点和叶子节点的计算(C语言)

概述&#xff1a; 二叉树&#xff0c;这里采用孩子链表存储法&#xff0c;即一个数据域和两个左右孩子指针域。随后递归进行遍历即可。在创建二叉树的时候&#xff0c;先创建各个二叉树结点&#xff08;这里的结点采用动态分配&#xff0c;因此结点为指针变量&#xff09;&…

c语言中编译过程与预处理

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、c语言的编译与链接1、编译与链接概述2、编译与链接详解 二、c语言预处理1.c语言中内置的预定义符号2、#define定义标识符3、#define定义宏4、#define 替换规…

项目进度管理软件:选择最适合您的工具

项目进度管理作为项目管理的重要组成部分&#xff0c;可以帮助项目团队更好地控制项目进度&#xff0c;确保项目按时完成并达到预期目标。本文将介绍项目进度管理软件的功能以及市场上常见的几种项目进度管理软件。 “项目进度管理软件有哪些?功能出色的有Zoho Projects、Trel…

ResNet 模型原理

ResNet与Vgg的主要区别&#xff1a; 1.ResNet相较于Vgg具有更加深的网络结构 2.ResNet相较于Vgg引入了残差连接的结构 3.ResNet引入了BatchNorm层&#xff0c;使得ResNet能够训练更加深的网络结构 4.ResNet使用stride2的卷积层代替了Vgg中池化层进行下采样 5.ResNet相较于…

【在Windows下搭建Tomcat HTTP服务】

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器&#xff0c;不仅名字很有趣&#xff0…

报错:1 字节的 UTF-8 序列的字节 1 无效。

这里我的问题出现在BookMapper.xml中 java.lang.IllegalStateException: Failed to load ApplicationContextat org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125)at org.spring…

情人节特别篇:用c++弹奏音乐“海阔天空”与“孤勇者”

W...Y的主页 &#x1f495; 代码库分享 &#x1f60a; 目录 孤勇者 海阔天空 今天是2023年8月22日七夕情人节&#xff0c;但是对我来说就是再普通不过的日子。我相信有很多人期待这一天的到来&#xff0c;和自己的对象出去享受快乐时光。但是我只有一个人独孤的度过短暂的时…

1.7 【MySQL】常用存储引擎

MySQL 支持非常多种存储引擎&#xff0c;我这先列举一些&#xff1a; 存储引擎 描述 ARCHIVE 用于数据存档&#xff08;行被插入后不能再修改&#xff09; BLACKHOLE 丢弃写操作&#xff0c;读操作会返回空内容 CSV 在存储数据时&#xff0c;以逗号分隔各个数据项 FEDE…

自动控制原理笔记-采样控制系统

目录 采样控制系统的基本概念&#xff1a; 采样过程及采样定理&#xff1a; 一、采样过程 二、采样定理&#xff08;香农采样定理、奈奎斯特采样定律&#xff09; 三、信号复现 四、零阶保持器 z变换与z反变换&#xff1a; z变换的定义 z变换基本定理 z反变换 采样系…