关键路径详细原理

拓扑排序、关键路径(AOV、AOE网) 在一个表示工程的带权有向图中,用顶点表示事件,用有向边表示活动,边上的权值表示活动的持续时间,称这样的有向图叫做边表示活动的网,简称AOE网。第一行输入顶点个数和边的个数 后续行输入边依附的两个顶点的数字编号(测试用例的编号都从0开始) 输出拓扑排序的结果。⑵ 只有在进入某顶点的各活动都结束,该顶点所代表的事件才能发生。在AOE网中,从始点到终点具有最大路径长度(该路径上的各个活动所持续的时间之和)的路径称为关键路径。遍历所有的出边,如果ve[前驱/起点]+边的权值>ve[后继/终点],更新ve的值。 阅读详情

一、概述

  关键路径,顾名思义,就是一个程序中最关键的路径,它关系到整个程序的时间进度,而关键二字指临界点。

我们需要引进两个概念,AOE和AOV网。

二、AOE和AOV网

  AOE和AOV网都是一个大型程序的示意图。而AOV关注事件,AOE网关注时间。

  举个例子:我需要写一篇博客,在脑回路清奇的我来看,应该具有以下步骤。首先写之前你的明白自己写什么吧(设定目标),然后你得有主干知识编写的同时,还得润色自己的语言,如果同时再举一个形象的例子(例如这一段)就好了,之后再代码展示一下的同时进行注释,最后看看没什么问题就可以发布了。

 

  我们发现一个问题,例如在第三步上完成主干知识耗时过多,虽然选取例子和润色语言很快完成,但是主干知识却拖垮了整个工程的进度,当它们全部完成时,才能进入下一环节,所以它是一个关键点。所以对这一工程来说关键点有开始博客,选取对象,主干知识,代码展示,完成博客。然而,开始博客-->选取对象-->主干知识-->代码展示-->完成博客,这一条路径被称为关键路径。它对一些AOE问题具有非常重要的作用。(1)完成工期需要多少时间 (2)那些工程是影响工程进度的关键 (3)求实际耗时的关键路径。

三、关键路径算法

1)首先我们需要定义一些元素,这在写程序的时候会用到:

最早开始时间(Earliest Start),是指某项活动能够开始的最早时间,只决定于项目计划,只

关键路径算法(Critical Path) 这个算法《算法导论》中并没有提及,很多书和博客说的有点奇怪,所以写本文作为笔记。关键路径是什么 关键路径的定义非常简单:就是一个图中,权值之和最大的路径就是关键路径。 为什么有关键路径 关键路径的来源和拓扑排序是一样的,都是将一项较大的工程划分为多个子工程,然后表示子工程之间的关系的。 关键路径和拓扑排序不同之处在于: 拓扑排序强调子工程之间的先后顺序(说依赖关系可能更恰当一些),比如必须做完a才能做c。关键路径在拓扑排序的基础上,还加入了时间关系。这个时间关系不光是子工程之间的,也包括子工程和整体 阅读详情

相关推荐

AOE的处理——关键路径CPM

Critical Path Method 关键路径法是一种基于数学计算的项目计划管理方法,是网络图计划方法的一种 AOE网 AOE网是带权的有向无环图,通常用来估算项目进程或完成的时间其中: 顶点:Vi表示事件 边: ai表示活动 边权: weight表示活动持续的时间 关键路径概念 关键路径:从源点到汇点的最长路径叫做关键路径,其路径长度是该路径上活动持续时间之和,也是工程完成的最少时间 事件...

One of thre_tigers的博客 714

AOE网中关键路径的一般求法

预备知识 1、由于整个工程只有一个开始点,一个结束点,故在正常情况下(无环),网中只有一个入度为0的点和一个出度为0的点。 2、与AOV网不同,AOE网中有些活动可以并行的进行,所以完成工程的最短时间是从开始点到完成点的最长路径的长度。路径长度最长的路径叫做关键路径。 由于在严蔚敏的《数据结构》中有详细的证明过程,我就不赘述啦,这里我只给出具体实现的代码。 扩展阅读: 传送门:http:

Wall_F的专栏 9057

关键路径的分析

组合逻辑的延时过长,就会成为关键路径,这时可以考虑在该路径上插入额外的寄存器,这种方法也称为插入流水线,多用于高度流水的设计中,因为这种设计中额外插入寄存器增加的时钟周期延时并不会违反整个设计的规范要求,从而不会影响设计的总体功能性实现,也即额外插入的寄存器在保持吞吐量不变的情况下改善了设计的时序性能。当某个信号的扇出fanout比较大时,会造成该信号到各个目的逻辑节点的路径变得过长,从而成为设计中的关键路径,此时可以通过对该信号进行复制来降低扇出。case,是的顺序执行的语句编程并行执行。...

小柚子的博客 1751

1.3-----Simplify 3D切片软件:从新手困惑到高效打印的进阶设置指南

本文详细介绍了Simplify 3D切片软件在大型模型打印中的高效设置技巧,包括切片效率、支撑结构智能生成和精细参数调节等核心优势。通过实战案例和进阶参数设置指南,帮助用户从新手快速进阶到高效打印,显著提升3D打印质量和效率。

weixin_42552716的博客 424

Penpot自托管全攻略:5分钟搞定私有化部署(附Docker配置详解)

本文详细介绍了Penpot开源原型设计工具的私有化部署全流程,从Docker基础配置到企业级优化方案。通过分步指南和实战技巧,帮助设计团队快速搭建安全高效的自托管环境,实现数据自主可控。内容涵盖LDAP集成、性能监控、备份策略等关键企业需求,是Penpot私有化部署的完整参考手册。

sugar的博客 1135

在Redroid容器中构建Frida RPC服务:自动化生成淘宝X-Sign签名参数

本文详细介绍了在Redroid容器中构建Frida RPC服务,实现自动化生成淘宝X-Sign等签名参数的完整方案。通过逆向分析定位关键方法,定制Redroid系统使Frida-Server常驻运行,并编写Frida脚本将签名方法暴露为RPC接口,最终封装为可远程调用的微服务,解决了签名生成的可移植性与工程化难题。

ice55的博客 645

华为昇腾Ascend C中级认证考试-tanh

注册昇腾社区账号后可以免费领券考试。

2600_96284887的博客 474

ROS牛耕法全覆盖规划:从算法原理到清洁机器人实战解析

本文深入解析ROS牛耕法全覆盖规划算法在清洁机器人中的应用,从算法原理到实战优化技巧全面覆盖。详细介绍了地图预处理、区域分解和路径优化等关键步骤,并分享实际案例中的解决方案,帮助开发者提升机器人清扫效率和覆盖率。

weixin_27013291的博客 393

AWR1843+DCA1000通过mmwave studio采集数据遇到的问题及解决方法

确保DCA1000的拨钮拨在了RADAR_5V_IN一边,这代表DCA1000通过与其相连的雷达板子供电,如果拨到了DC_JACK5V_IN一边,表示DCA1000用单独的电源供电。

qq_50974341的博客 4165

华为OD机试双机位C卷-FLASH坏块监测系统(Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【FLASH坏块监测系统】,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - FLASH坏块监测系统。

qq_45776114的博客 1928

AI翻译工具自动翻译日语视频生成srt中文字幕,支持离线轻松生成任意日语视频字幕!可选择支持显卡模式和cpu模式低显存也能用

【AI离线字幕神器:日语视频一键转中文字幕】推荐一款基于Faster-Whisper的本地化字幕工具,可离线生成日语视频的中文字幕(.srt格式),支持CPU/GPU加速处理。实测1小时视频最快4-5分钟完成翻译,无需联网保护隐私。操作简单只需拖拽文件,支持批量处理音频(mp3/wav)和视频(mp4/mkv)文件,还能自定义输出格式和参数调整。特别适合需要观看无字幕日语资料的用户,堪称技术宅必备神器。下载地址附后,包含详细使用教程和参数配置说明。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 拓扑路径详细原理
下一篇: 链式前向星基本原理
Superb_Day
博客等级 码龄9年 100粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值