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

【数据结构】图-----关键路径

一、核心前提AOE 网有向无环、带权边边代表活动顶点代表事件源点起点入度为 0、汇点终点出度为 0。关键路径从源点 → 汇点的最长路径决定工程最短完成时间路径上活动为关键活动。二、四大必背参数考试核心设顶点为事件边为活动ve[i]事件 i 的最早发生时间vl[i]事件 i 的最晚发生时间e活动最早开始时间l活动最晚开始时间l−e0 → 该活动为关键活动计算公式最早发生时间正向拓扑源点权最晚发生时间逆拓扑汇点汇点权活动时间活动 u,veve[u],lvl[v]−w三、算法步骤对 AOE 网做拓扑排序按拓扑序正向遍历求数组 ve按逆拓扑序反向遍历求数组 vl遍历所有边计算 、l−e0 的边 → 关键活动串联即为关键路径四、完整 C 语言代码邻接表・带详细注释#include stdio.h #include string.h #define MAXN 105 #define INF 0x3f3f3f3f // 边结点终点、权值、后继边 typedef struct Edge{ int to,w; struct Edge *next; }Edge; Edge* G[MAXN]; int n,m; int in[MAXN]; // 入度 int topo[MAXN],cnt; // 拓扑序列 int ve[MAXN],vl[MAXN]; // 加边 void addEdge(int u,int v,int w){ Edge *p(Edge*)malloc(sizeof(Edge)); p-tov; p-ww; p-nextG[u]; G[u]p; in[v]; } // 1.拓扑排序得到topo数组 void TopSort(){ int stk[MAXN],top0; cnt0; for(int i1;in;i) if(in[i]0) stk[top]i; while(top0){ int ustk[--top]; topo[cnt]u; for(Edge *pG[u];p;pp-next){ int vp-to; in[v]--; if(in[v]0) stk[top]v; } } } // 2.求ve正向拓扑 void getVE(){ memset(ve,0,sizeof(ve)); for(int i1;icnt;i){ int utopo[i]; for(Edge *pG[u];p;pp-next){ int vp-to; if(ve[v] ve[u]p-w) ve[v] ve[u]p-w; } } } // 3.求vl逆拓扑 void getVL(){ for(int i1;in;i) vl[i]ve[topo[cnt]]; for(int icnt;i1;i--){ int utopo[i]; for(Edge *pG[u];p;pp-next){ int vp-to; if(vl[u] vl[v]-p-w) vl[u] vl[v]-p-w; } } } // 4.查找并输出关键活动、关键路径 void KeyPath(){ printf(关键活动\n); for(int u1;un;u){ for(Edge *pG[u];p;pp-next){ int vp-to; int e ve[u]; int l vl[v] - p-w; if(e l){ printf(关键活动%d - %d 权%d\n,u,v,p-w); } } } printf(工程最短工期%d\n,ve[topo[cnt]]); } int main(){ scanf(%d%d,n,m); memset(G,0,sizeof(G)); memset(in,0,sizeof(in)); for(int i1;im;i){ int u,v,w; scanf(%d%d%d,u,v,w); addEdge(u,v,w); } TopSort(); getVE(); getVL(); KeyPath(); return 0; }五、考点必背关键路径仅存在于AOE 有向无环图关键路径 源点到汇点最长路径关键活动l−e0关键活动推迟→整体工期延长非关键活动有时间余量可适当延迟拓扑求 ve逆拓扑求 vl关键路径可能多条

相关文章:

【数据结构】图-----关键路径

一、核心前提AOE 网:有向无环、带权边,边代表活动,顶点代表事件;源点(起点:入度为 0)、汇点(终点:出度为 0)。关键路径:从源点 → 汇点的最长路径…...

为什么你的AI容器仍能读取宿主机GPU内存?一文讲透nvidia-container-runtime沙箱边界漏洞(含PoC修复验证)

更多请点击: https://intelliparadigm.com 第一章:Docker Sandbox 运行 AI 代码隔离技术 面试题汇总 Docker Sandbox 是面向 AI 研发场景的关键安全实践,通过容器级资源隔离、只读文件系统、非 root 用户运行及 cgroup 限制,确保…...

为什么92%的边缘项目在Docker WASM迁移中失败?6步标准化流程+4类典型崩溃日志诊断图谱

更多请点击: https://intelliparadigm.com 第一章:Docker WASM边缘计算部署的现状与挑战 WebAssembly(WASM)正加速融入边缘计算生态,而 Docker 官方尚未原生支持 WASM 运行时——当前需依赖社区方案如 wasi-sdk、wasm…...

2026届毕业生推荐的十大AI辅助论文网站解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 如今,AI论文查重系统主要依靠自然语言处理跟深度学习技术,借助分析文…...

如何快速掌握OpenFace面部行为分析:新手到专家的完整实战指南

如何快速掌握OpenFace面部行为分析:新手到专家的完整实战指南 【免费下载链接】OpenFace OpenFace – a state-of-the art tool intended for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation. 项目地…...

B站视频下载终极指南:轻松获取4K大会员视频的完整教程

B站视频下载终极指南:轻松获取4K大会员视频的完整教程 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还在为无法离线观看…...

3分钟搞定QMC加密音频:你的专属音乐解锁秘籍

3分钟搞定QMC加密音频:你的专属音乐解锁秘籍 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经遇到过这样的情况:从音乐平台下载的歌曲&…...

MCP 2026配置为何让CTO深夜删库重装?血泪复盘3起因配置项顺序错误导致的P0级数据泄露事件(含原始审计日志截图)

更多请点击: https://intelliparadigm.com 第一章:MCP 2026医疗数据安全配置标准全景概览 MCP 2026(Medical Configuration Policy 2026)是由国际医疗信息技术联盟(IMITF)于2024年Q4正式发布的强制性安全配…...

高压均质机的构造与工作原理解析

于乳业加工的生产车间里,有一台设备。在制药制备的生产车间里,同样有一台设备。在纳米材料的生产车间里,仍有一台设备。此设备在关键工序里,担当着决定性的角色。物料经由它处理后,粒径一下子迅速变细。物料经由它处理…...

【MCP 2026边缘部署黄金法则】:20年架构师亲授7步极简优化流程,错过再等三年

更多请点击: https://intelliparadigm.com 第一章:MCP 2026边缘部署的范式跃迁 MCP(Model Control Plane)2026标志着边缘智能基础设施从静态编排向动态语义驱动的范式跃迁。传统边缘部署依赖预置规则与固定拓扑,而MCP…...

泵人心中很清楚的HPH构造——三大系统和常见故障全面解析

近日来,科技创新范畴热闹得很。于今日在合肥拉开帷幕的第四届中国(安徽)科技创新成果转化交易会上,892项科技新成果集体首次亮相,涵盖了氢能装备,核聚变能,量子科技等好些前沿领域。碰巧的是&am…...

批量卸载工具Bulk Crap Uninstaller:3分钟彻底清理Windows垃圾软件

批量卸载工具Bulk Crap Uninstaller:3分钟彻底清理Windows垃圾软件 【免费下载链接】Bulk-Crap-Uninstaller Remove large amounts of unwanted applications quickly. 项目地址: https://gitcode.com/gh_mirrors/bu/Bulk-Crap-Uninstaller 你是否经常发现电…...

数论:从提高组到提高组

这&#xff0c;是一个采用C精灵库编写的程序&#xff0c;它画了一幅漂亮的图形&#xff1a; 复制代码 #include "sprites.h" //包含C精灵库 Sprite turtle; //建立角色叫turtle void draw(int d){for(int i0;i<5;i)turtle.fd(d).left(72); } int main(){ …...

Ant Design Pro实战:手把手教你用ProTable的request属性优雅处理API分页与数据转换

Ant Design Pro实战&#xff1a;ProTable的request属性深度解析与数据转换艺术 在复杂的企业级前端开发中&#xff0c;数据表格的处理往往占据了开发者大量的时间和精力。Ant Design Pro的ProTable组件通过封装常见的表格交互逻辑&#xff0c;显著提升了开发效率。但当我们面对…...

别再自己画验证码了!Vue3项目里用这个npm包5分钟搞定滑动拼图(附Element Plus适配)

Vue3Element Plus项目中5分钟集成滑动拼图验证码的终极指南 在快节奏的前端开发中&#xff0c;验证码功能是保护系统安全的基础防线&#xff0c;但自行开发往往耗时费力。本文将带你绕过Canvas绘制的技术深坑&#xff0c;直接使用vue3-puzzle-vcode这个专为Vue3设计的验证码组…...

android 原生桌面上有一个搜索栏图标,如何去掉?

android 原生桌面上有一个搜索栏图标&#xff0c;如何去掉&#xff1f;下载下面的资源解决&#xff01;通过网盘分享的文件&#xff1a;去掉桌面的google图标-2.zip 链接: https://pan.baidu.com/s/15FFPgw-O0FCyZBi99o_MXg?pwd27dm 提取码: 27dm...

创业做智能音箱可以做吗?

本文针对当前百元级智能音箱市场成本结构与主流芯片方案进行分析,对比 ESP32 系列与联发科 Filogic 130A 等专用语音芯片在硬件成本、算力架构、低功耗待机、远场语音识别等方面的差异,论证 ESP32 替代高端专用 DSP 芯片的可行性边界,并给出面向不同产品定位的选型建议,为语…...

国产服务器适配MCP 2026的“最后一公里”难题(独家拆解):BIOS微码更新失败、TPM2.0固件版本冲突、SM2国密模块初始化超时——3个99%工程师踩过的硬核深坑

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;MCP 2026国产化适配的全局技术图谱与挑战定位 MCP&#xff08;Model Control Protocol&#xff09;2026 是面向高可信智能系统的新一代控制协议标准&#xff0c;其国产化适配不仅涉及指令集、操作系统与…...

紧急预警:MCP 2026 V2.1草案已冻结,2025年1月起全面启用新诊断协议(UDS over CAN FD),现有ECU固件兼容率不足41%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;MCP 2026农业设备数据对接的演进逻辑与战略紧迫性 农业智能化正从单点自动化迈向全域协同决策&#xff0c;而MCP&#xff08;Machine Communication Protocol&#xff09;2026标准的落地&#xff0c;已…...

【限时解密】Docker AI Toolkit 2026未发布文档中的AI容器签名机制(基于Cosign+WebAssembly验证链源码溯源)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Docker AI Toolkit 2026 架构演进与签名机制设计动机 Docker AI Toolkit 2026 并非简单叠加 AI 功能的容器工具包&#xff0c;而是面向生产级可信 AI 工作流重构的系统性平台。其核心演进方向聚焦于**模…...

Golang interface底层实现原理_Golang接口原理教程【核心】

...

权限收敛迫在眉睫,MCP 2026动态分配已强制启用?企业IT负责人必须在Q3前完成的7项合规改造

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;MCP 2026权限动态分配的合规背景与强制启用倒计时 随着《全球数字身份与访问治理框架&#xff08;GDIAF&#xff09;2025》正式生效&#xff0c;MCP&#xff08;Multi-Context Privilege&#xff09;协…...

MCP 2026跨服务器编排落地手册(2024Q4唯一兼容RFC-9321的工业级方案)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;MCP 2026跨服务器编排的核心演进与RFC-9321对齐原理 MCP 2026&#xff08;Multi-Cluster Protocol 2026&#xff09;标志着分布式系统控制平面从单集群协调迈向全域协同的关键跃迁。其核心演进聚焦于状…...

MCP 2026漏洞利用链首现野火传播,你的监控系统是否还在用默认SNMPv2c?——4小时应急响应作战图(含IoC与YARA规则)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;MCP 2026漏洞本质与野火传播机理剖析 MCP 2026&#xff08;Mitigated Control Protocol&#xff09;并非真实协议&#xff0c;而是安全研究社区对一类新型服务端控制通道混淆缺陷的代号——其核心在于攻…...

《吞食天地2忘云殇》8.77版保姆级开荒指南:从常山到成都的装备、阵型与关键道具规划

《吞食天地2忘云殇》8.77版开荒全解析&#xff1a;资源规划与战术进阶手册 当常山的晨雾还未散尽&#xff0c;你的冒险小队已经站在了黑山郡的城门前。这款以三国为背景的经典RPG改版作品&#xff0c;通过独特的装备系统、阵型设计和道具机制&#xff0c;为玩家构建了一个充满策…...

AixProbe 开源 AI 远程调试器:第 2 章 系统配置

AixProbe 开源 AI 远程调试器&#xff1a;第 2 章 第一次上电前瞻&#xff1a;AixProbe 调试器本质上是一个标准的嵌入式 Linux 系统&#xff0c;即使你是 Linux 开发新手&#xff0c;也可以把它当作一块 Linux 开发板来使用。本章将尽量照顾不同基础的读者&#xff0c;帮助大家…...

Ryujinx模拟器深度解析:如何在PC上构建高性能Switch游戏环境

Ryujinx模拟器深度解析&#xff1a;如何在PC上构建高性能Switch游戏环境 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 想在个人电脑上体验任天堂Switch游戏的魅力吗&#xff1f;Ryuj…...

终极指南:wxauto微信自动化工具从零到精通

终极指南&#xff1a;wxauto微信自动化工具从零到精通 【免费下载链接】wxauto Windows版本微信客户端&#xff08;非网页版&#xff09;自动化&#xff0c;可实现简单的发送、接收微信消息&#xff0c;简单微信机器人 项目地址: https://gitcode.com/gh_mirrors/wx/wxauto …...

D2RML终极指南:暗黑2重制版多账户启动器完整使用教程

D2RML终极指南&#xff1a;暗黑2重制版多账户启动器完整使用教程 【免费下载链接】D2RML Diablo 2 Resurrected Multilauncher 项目地址: https://gitcode.com/gh_mirrors/d2/D2RML D2RML&#xff08;Diablo 2 Resurrected Multilauncher&#xff09;是一款专门为《暗黑…...

Space Thumbnails:Windows资源管理器的3D模型预览终极方案

Space Thumbnails&#xff1a;Windows资源管理器的3D模型预览终极方案 【免费下载链接】space-thumbnails Generates preview thumbnails for 3D model files. Provide a Windows Explorer extensions that adds preview thumbnails for 3D model files. 项目地址: https://g…...