当前位置: 首页 > news >正文

数据结构【DS】图的应用

图的连通性问题

最少边数

最多边数

无向图非连通

𝒎=𝟎

𝒎=𝒏−𝟐∗(𝒏−𝟏)/𝟐

无向图连通

𝒎=𝒏−𝟏

𝒎=𝒏∗(𝒏−𝟏)/𝟐

有向图非强连通

𝒎=𝟎

𝒎=𝒏−𝟐∗𝒏−𝟏+𝟏

有向图强连通

𝒎=𝒏

𝒎=𝒏∗(𝒏−𝟏)

最小生成树

Prim

  • 选点(point)
  • 时间复杂度:𝑶𝑽𝟐
  • 适合边稠密

Kruskal

  • 选边
  • 时间复杂度:𝑶𝑬𝒍𝒐𝒈𝟐𝑬
  • 适合边稀疏

回忆一下是如何通过这两个算法构造最小生成树的?

 最短路径问题

BFS

Dijkstra

Floyd

无权图

带权图

带负权值的图

带负权回路的图

时间复杂度

𝑂𝑉2|𝑂(𝑉+|𝐸|)

𝑂(|𝑉2|)

𝑂(|𝑉3|)

通常用于

无权图单源最短路径

带权图单源最短路径
也可以求带权图各个顶点间的最短路径
适合有回路带权图的最短路径

带权图各个顶点间的最短路径

回忆如何通过这三种算法求最短路径?

拓扑序列

  • 对于任一有向图,如果它的邻接矩阵为三角矩阵,则一定存在拓扑序列(可能不唯一),反之不一定成立。
  • 若图存在拓扑序列,却不一定能满足邻接矩阵中主对角线以下的元素均为0,但是可以通过适当地调整结点的编号,使其邻接矩阵能够满足主对角线以下的元素均为0。
  • 拓扑序列唯一,也不能唯一确定该图
  • 若一个有向图具有有序的拓扑序列,则它的邻解矩阵一定为:三角矩阵
  • 若基于邻接表,则拓扑排序时间复杂度为:𝑶(|𝑽|+|𝑬|)
  • BFS和DFS都可以用于实现拓扑排序
  • 顶点:事件
  • 边:活动

 关键路径

详细步骤做法:

节点

最早开始时间

正着找,相加,取大值

节点

最晚开始时间

反着找,相减,取小值

最早开始时间

从谁发出的最早开始时间

最晚开始时间

被指向的最晚开始时间 减去 权值

 

 

 

 

  • 如何延长工程的工期?
    • AOE图中,关键路径上活动的时间延长多少,整个工程的时间也就随之延长多少【增加任一关键活动的时间将会增加工程的工期】
  • 关键活动是什么?
    • 关键路径所有活动都是关键活动
  • 关键路径是什么?
    • 关键路径是源点到终点的最长路径
    • 求关键路径的快速方法:找起点到终点的最长路径
  • 如何缩短关键路径?
    • 只有缩短所有关键路径的长度时,整个图的关键路径才能有效缩短。
  • 能任意缩短关键路径吗?
    • 不能任意缩短,一旦缩短到一定程度,该关键活动就可能变成非关键活动。
  • 只有一条关键路径的时候,减少关键活动的时间会缩短工程的工期吗?
    • 会缩短工程的工期
  • 有多条关键路径的时候,减少关键活动的时间会缩短工程的工期吗?
    • 不一定会缩短工程的工期
  • 关键路径是唯一的吗?
    • 并不唯一。

 

相关文章:

数据结构【DS】图的应用

图的连通性问题 最少边数 最多边数 无向图非连通 𝒎𝟎 𝒎𝒏−𝟐∗(𝒏−𝟏)/𝟐 无向图连通 𝒎𝒏−𝟏 𝒎𝒏∗(&#…...

图像滤波处理

滤波处理是图像处理中常用的技术之一,用于去除图像中的噪声、平滑图像、边缘检测等。以下是几种常见的滤波处理方法: 1. 均值滤波 (Mean Filtering) 原理: 均值滤波使用一个固定大小的滤波器,在图像上滑动并取周围像素的平均值来…...

中间件安全:Apache 目录穿透.(CVE-2021-41773)

中间件安全:Apache 目录穿透.(CVE-2021-41773) Apache 的 2.4.49、2.4.50 版本 对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等&#xff0c…...

苍穹外卖--菜品分页查询

设计DTO类 Data public class DishPageQueryDTO implements Serializable {private int page;private int pageSize;private String name;private Integer categoryId; //分类idprivate Integer status; //状态 0表示禁用 1表示启用}设计VO类 Data Builder NoArgsConstructor…...

JS原生-弹框+阿里巴巴矢量图

效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content&q…...

vscode c++ 报错identifier “string“ is undefined

vscode c 报identifier “string” is undefined 问题 新装了电脑, 装好vsc和g等, 发现报错 但开头并没问题 解决 shiftctrlp选择 C/C Edit:COnfigurations (JSON)自动生成打开 c_cpp_properties.json添加g路径等 "cStandard": "c11","cppStanda…...

CocoaPods podfile 文件配置

记录一下关于 CocoaPods podfile 文件配置 指定源(Source) 默认情况下&#xff0c;在全局级别指定的源将按照依赖项匹配指定的顺序进行搜索。 对于特定的依赖&#xff0c;可以单独指定依赖源: pod PonyDebugger, :source > https://github.com/CocoaPods/Specs.git使用字库…...

Python大数据之linux学习总结——day10_hive调优

hive调优 hive调优hive命令和参数配置1.hive数据压缩压缩对比开启压缩 2.hive数据存储[练习]行列存储原理存储压缩比拓展dfs -du -h 3. fetch抓取4. 本地模式5. join的优化操作6. 列裁剪7. 分区裁剪8. group by 操作9. count(distinct)10. 笛卡尔积11. 动态分区[练习]12. 如何调…...

原理Redis-动态字符串SDS

动态字符串SDS Redis中保存的Key是字符串&#xff0c;value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。 不过Redis没有直接使用C语言中的字符串&#xff0c;因为C语言字符串存在很多问题&#xff1a; 获取字符串长度的需要通过运算非二进制安全…...

axios的封装之axios是基于什么封装的?

axios的封装_axios是基于什么封装的 axios是基于JavaScript的XMLHttpRequest 和 Promise 对象进行封装的使用axios发送GET请求的示例axios 拦截器 axios的封装_axios是基于什么封装的 axios是基于JavaScript的XMLHttpRequest 和 Promise 对象进行封装的 在浏览器中&#xff…...

应用软件安全编程-20生成强随机数

JavaAPI 提 供 了java,util.Random 类 来 实 现PRNG。 这 个 PRNG 是可移植和可重复的。因此&#xff0c;如 果 两 个java.util.Random 类的实例使用了相同的种子&#xff0c;会在所有的 Java 实 现 中 生 成 相 同 的 数 值 序 列 。 在应用初始化时&#xff0c;或者在每…...

【C语言.oj刷题】有序#整型矩阵元素查找##{思路+C源码}

目录 题目信息 题目分析&#xff1a; 法一&#xff1a; 遍历二维数组&#xff08;低效&#xff09; 思路 源码 局限性 法二&#xff1a; 对每一行二分查找&#xff08;有所提效&#xff09; 思路 源码 局限性 法三&#xff1a; 利用一切有利条件使用二分查找 思路 …...

rabbitmq默认交换机锁绑定的routingkey-待研究

例如这个是我的一个消息队列&#xff0c;它默认绑定的交换机是 什么类型呢? 看到这个图&#xff0c;感觉应该是一个默认的交换机&#xff0c;因为是default exchange 于是来到交换机来看看其他默认的交换机&#xff1a; 这里可以看到默认的交换机是direct&#xff08;应该没…...

【计算思维】蓝桥杯STEMA 科技素养考试真题及解析 4

1、下列哪个选项填到填到下图空缺处最合适 A、 B、 C、 D、 答案&#xff1a;D 2、按照如下图的规律摆放正方形&#xff0c;第 5 堆正方形的个数是 A、13 B、14 C、15 D、16 答案&#xff1a;D 3、从右面观察下面的立体图形&#xff0c;看到的是 A、 B、 C、 D、 答…...

基于STM32CubeMX和keil采用RTC时钟周期唤醒和闹钟实现LED与BEEP周期开关

文章目录 前言1. RTC概念1.1 RTC的时钟信号源1.2 预分频器1.3 实时时钟与日历数据1.4 周期性自动唤醒1.5 可编程闹钟 2. RTC相关中断3. STM32CubeMX配置3.1 时钟配置3.2 引脚配置3.3 RTC配置3.3.1 模式选择3.3.2 RTC基本参数配置3.3 中断配置 4. 代码编写总结 前言 RTC的功能有…...

Virtual安装centos后,xshell连接centos

1. 网络使用Host-Only模式动态分配IP&#xff0c;点确定后&#xff0c;centos 上运行 system restart network &#xff0c;使用ifconfig查看新的ip&#xff0c;XShell可以直接连上centos&#xff0c; 但是由于使用的是Host-Only模式&#xff0c;centos不能访问网络&#xff0c…...

Taro.navigateTo 使用URL传参数和目标页面参数获取

文章目录 1. Taro.navigateTo 简介2. 通过 URL 传递参数3. 目标页面参数获取4. 拓展与分析4.1 拓展4.2 URL参数的类型4.3 页面间通信 5. 总结 &#x1f389;欢迎来到Java学习路线专栏~Taro.navigateTo 使用URL传参数和目标页面参数获取 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x…...

Unity Meta Quest 一体机开发(七):配置玩家 Hand Grab 功能

文章目录 &#x1f4d5;教程说明&#x1f4d5;玩家物体配置 Hand Grab Interactor⭐添加 Hand Grab Interactor 物体⭐激活 Hand Grab Visual 和 Hand Grab Glow⭐更新 Best Hover Interactor Group &#x1f4d5;配置可抓取物体&#xff08;无抓取手势&#xff09;⭐刚体和碰撞…...

我又开始贩卖焦虑了,机器视觉兄弟们,打工这生意盘不活了?让人逃离北上广深,是毒鸡汤吗?

我想大多数人和我想的一样&#xff0c;不要质疑自己的出身&#xff0c;也不必用一生去改变出身而获得融入感&#xff0c;思想富足这是我们留给自己一生最珍贵的礼物。也许一线城市容不下肉身&#xff0c;二三线城市容不下灵魂。那我回到生我养我的十八线小县城&#xff0c;这不…...

hyperledger fabric2.4测试网络添加组织数量

!!!修改内容比较繁琐,预期未来提供模板修改 修改初始配置文件,初始添加3个组织 organizations文件夹 /cryptogen文件夹下创建文件crypto-config-org3.yaml,内容如下: PeerOrgs:# ---------------------------------------------------------------------------# Org3# ----…...

AgentCPM深度研报助手使用技巧:三个参数让报告更专业

AgentCPM深度研报助手使用技巧&#xff1a;三个参数让报告更专业 1. 为什么你的AI研报总像“流水账”&#xff1f;问题可能出在参数上 你用过AI写报告&#xff0c;结果是不是这样&#xff1a;内容看起来都对&#xff0c;但读起来总觉得“差点意思”&#xff1f;结构松散像拼凑…...

OpenClaw自动化边界:gemma-3-12b-it不适合处理的5类任务分析

OpenClaw自动化边界&#xff1a;gemma-3-12b-it不适合处理的5类任务分析 1. 为什么需要明确自动化边界&#xff1f; 上周我在本地部署了OpenClawgemma-3-12b-it组合&#xff0c;本想让它帮我完成一些重复性工作。结果在测试过程中&#xff0c;一个简单的"整理桌面截图并…...

DICOM序列实时渲染从28fps到126fps:C++无锁队列+GPU命令缓冲复用+ROI局部重绘的工业级调优日志

第一章&#xff1a;DICOM序列实时渲染性能跃迁全景概览 现代医学影像工作流对DICOM序列的实时可视化提出严苛要求&#xff1a;从百层CT扫描到高分辨率MRI动态序列&#xff0c;传统CPU软渲染方案常遭遇帧率跌破15 FPS、交互延迟超300ms的瓶颈。近年来&#xff0c;GPU加速管线、零…...

OpenClaw飞书机器人配置指南:Qwen3-14b_int4_awq实现对话触发任务

OpenClaw飞书机器人配置指南&#xff1a;Qwen3-14b_int4_awq实现对话触发任务 1. 为什么选择OpenClaw飞书机器人组合&#xff1f; 去年我接手了一个小团队的内部工具优化项目&#xff0c;需要解决两个核心痛点&#xff1a;一是团队成员频繁在飞书群内重复询问相同问题&#x…...

当AI真正“看懂“你的屏幕:GPT-5.4如何重新定义人机协作的边界

摘要&#xff1a; 2026年3月&#xff0c;OpenAI发布了GPT-5.4。这不是一次普通的模型迭代&#xff0c;而是一次能力边界的重新定义——它首次实现了原生的"计算机使用"能力&#xff0c;能在桌面上像人类一样点击按钮、填写表单、操作软件&#xff1b;它拥有五级可调的…...

开发环境配置实战:通过Anaconda Prompt高效管理虚拟环境与Jupyter内核

1. 为什么需要Anaconda Prompt管理虚拟环境 作为数据科学领域的开发者&#xff0c;我经历过无数次Python环境混乱带来的痛苦。记得有一次在交付项目前&#xff0c;突然发现本地运行的模型在服务器上完全无法复现&#xff0c;排查了半天才发现是numpy版本不兼容的问题。这种经历…...

电子元器件失效分析与预防实战指南

1. 电子元器件失效的底层逻辑剖析 电子元器件失效的本质是材料特性、环境应力与时间因素共同作用的结果。作为一名硬件工程师&#xff0c;我处理过数百例元器件失效案例&#xff0c;发现失效模式往往遵循"应力-损伤-失效"的因果链。理解这个链条&#xff0c;才能从根…...

为什么你的C++量子模拟器总在2^10后崩溃?内存优化、张量压缩与SIMD加速三重方案揭秘

第一章&#xff1a;量子模拟器崩溃现象与2^10内存临界点的本质剖析当量子模拟器在经典硬件上运行含10个量子比特的电路时&#xff0c;常在初始化或状态演化阶段发生静默崩溃——进程异常终止、无堆栈回溯、仅返回 SIGSEGV 或 OOM Killer 日志。这一现象并非随机故障&#xff0c…...

低成本自动化:OpenClaw+Gemma-3-12b-it替代Zapier的5个场景

低成本自动化&#xff1a;OpenClawGemma-3-12b-it替代Zapier的5个场景 1. 为什么选择OpenClawGemma替代Zapier 作为一个长期使用Zapier的自动化爱好者&#xff0c;我最近开始尝试用OpenClawGemma-3-12b-it组合来替代部分Zapier工作流。这个转变源于两个痛点&#xff1a;一是Z…...

嵌入式调试实战:常见错误与高效排查方法

1. 程序员调试中的那些"荒唐"错误 作为一名从业多年的嵌入式工程师&#xff0c;我深知调试过程中的酸甜苦辣。那些看似简单的问题往往耗费我们最多时间&#xff0c;而最终解决方案却常常让人哭笑不得。今天就来分享几个真实的调试故事&#xff0c;希望能给同行们带来…...