【学习分享】通俗易懂!最早(晚)开始时间

news2024/11/23 23:53:29

【学习分享】通俗易懂!最早(晚)开始时间

  • 前言
  • 一、什么是最早(晚)开始时间?
  • 二、什么是关键路径?
  • 三、实例
  • 四、小结


前言

看了这么多篇求解最早开始时间和最晚开始时间的文章,结果一篇没看懂,索性自己写一篇吧!
能看懂下面省流版的就不必往下看了哈-,-。

省流版
1、关键路径上节点的最早和最晚时间都是相同的,不能调整否则项目将延期。
2、计算最早时间用正推迭代,当出现多条分支时,上一个最早时间+最长分支路径时间计算,否则时间不够用。
3、计算最晚时间用反向迭代,当出现多条分支时,后一个最晚时间-最长分支路径时间计算,否则时间不够用。

没看懂?那继续往下看,看完再回头来看是不是能看懂了。


一、什么是最早(晚)开始时间?

假设有一个项目,a->b节点需要1天,b->c节点需要2天。所以我们的这个项目需要3天时间来完成。
在这里插入图片描述
为了保证项目正常完成,abc的最早(晚)开始时间是多少呢?

最早开始时间计算:
1、因为a是项目的起点,所以ab最早开始时间就是0天,这个可以理解吧?
2、b要完成a->b节点的时间后才能开始,所以bc最早开始时间就是a+(a->b节点的时间1天)=1天。
3、c要完成b->c节点的时间后才能开始,所以c最早开始时间就是1+(b->c节点的时间2天)=3天。
在这里插入图片描述

最晚开始时间计算:
1、因为c是项目的终点,所以c最晚开始时间就是项目规定的3天,这个可以理解吧?
2、b->c的时间是2天,那么bc的最晚开始时间就是3-(b->c的时间2天) = 1天。
3、a->b的时间是1天,a的最晚开始时间就是1-(a->b的时间1天) = 0天。

在这里插入图片描述

我们可以发现一个规律,a,b,c的最早(晚)开始时间都是相同的!为什么呢?因为a,b,c每一条路径都是影响项目的关键路径,所以a,b,c的最早和最晚开始时间都会影响项目进度,所以是不能调整时间的!


二、什么是关键路径?

上面的例子a->b->c就是关键路径,因为每个节点的延误都会影响项目进度。
我们再举个例子,增加一个节点d,所以现在有a,b,c,d四个项目节点,那么这个项目的的关键路径是哪个呢?
在这里插入图片描述

因为出现了节点d,所以我们可以看下,出现了一条新的路径,a->b->d->c。使用的时间是4天。
比a->b->c的3天多了1天。所以我们想一下,整个项目所需要花费的时间是3天还是4天呢,答案很明显是4天,因为你无法绕过d而完成这个项目。所以我们的关键路径是a->b->d->c。

在这里插入图片描述

所以ab,bd,dc都不能延期,那么bc可以延期吗?

a->b->c一共才花了3天时间,a->b->d->c一共花了4天时间,是不是b->c可以延期了呢?我们来看,ab的最早和最晚开始时间是都是1天,所以其实b是无法延期的,假设b延期到第二天执行,那么b->d->c就延期了!

可以思考下,如果b->c是4天的情况下,d能不能延期。


三、实例

下面我们来实战一下,看是否已经理解。
在这里插入图片描述
首先找到关键路径。

1-3-4-6-7-9-10,这个根据我们上面的例子进行迭代计算就可以得出来了,也就是说通过前面节点的最长所需时间,然后计算后面节点的最早时间。
在这里插入图片描述
所以关键路径上的最早/最晚时间都是不能变动的,否则会出现项目延期。

那么节点5的最早时间是多少呢?

节点5的路径有2->5,3->5,4->5,如果要最早,那么必须取这三条路径的最大值,否则会有路径时间不够用。所以很明显4->5的时间最早,4的最早时间是10,所以节点5的最早时间是10+(4->5的时间5周)=15周。

那么节点5的最晚时间是多少呢?

因为5不在关键路径上,最晚开始时间可以从节点5后面的关键路径进行倒推。有两条路径5->7->9->10和5->9->10,要最晚,那么必须取这两条路径的最大值,否则处理较长路径的时间会不够用。所以是5->7->9->10,所以节点5的最晚开始时间是21-(5->7的时间5)=16周。


四、小结

通过本文的例子相信彦祖们已经掌握了最早(晚)开始时间的计算方法了。找到关键路径,问题自然就可以解决了。觉得写的不错的彦祖帮忙一键三连哈~~

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

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

相关文章

RTSP/Onvif视频监控平台EasyNVR如何提高匿名用户的用户名和密码安全性?

EasyNVR安防视频云平台是旭帆科技TSINGSEE青犀旗下支持RTSP/Onvif协议接入的安防监控流媒体视频云平台。平台具备视频实时监控直播、云端录像、云存储、录像检索与回看、告警等视频能力,能对接入的视频流进行处理与多端分发,包括RTSP、RTMP、HTTP-FLV、W…

vue3中所有页面需要手动刷新一下才能显示,控制台没有报错

1.问题 登录进来是进入首页,然后切换任何页面都是空白,但是控制台没有报错。在其他页面刷新后却能显示,然而切换到首页刷新后再切换到其他页面又是空白。 2.解决问题 原因:在于首页给了两个根标签,我把其中一个根标签…

解决VSCode中“#include错误,请更新includePath“问题

目录 1、问题原因 2、解决办法 1、问题原因 在编写C程序时,想引用头文件但是出现如下提示: (1)首先检查要引用的头文件是否存在,位于哪里。 (2)如果头文件存在,在编译时提醒VSCo…

ROM修改进阶教程------安卓7_____安卓13去除签名验证操作步骤解析

同类博文: 安卓玩机搞机技巧综合资源-----修改rom 制作rom 解包rom的一些问题解析【二十一】_qcn改区域锁-CSDN博客 安卓系列机型rom修改。如果你删减了系统相关的app。那么严重会导致开机系统卡米 定屏等问题。这类一般都是系统签名验证导致的。而破解签名验证一般都是修改…

JsonPath实战

概述 JsonPath&#xff0c;GitHub是一种简单的方法来提取给定JSON文档的部分内容&#xff0c;提供类似正则表达式的语法来解析JSON文档。 特性 入门 引入如下Maven依赖&#xff1a; <dependency><groupId>com.jayway.jsonpath</groupId><artifactId&…

Centos7虚拟机与真机乎ping以及虚拟机ping不通的原因

虚拟机网络完全正常的标准 物理机可以ping通虚拟机的IP虚拟机可以ping通物理机的IP虚拟机可以ping通baidu.com等网站 使用工具版本&#xff1a;Centos7 前提&#xff1a; 虚拟机必须开机才可以连接访问 克隆出来的虚拟机一定要手动修改IP&#xff0c;IP冲突的情况下不能联网 …

会员邀请:中华环保联合会征集会员单位、行业专家

为进一步发展壮大会员队伍&#xff0c;我们将充分吸收水环境治理领域具有先进理念、技术创新、表现突出的优秀企事业单位作为会员。依托院士、专家团队的技术力量为企业、园区、区域流域、地方政的水环境问题提供全过程一站式服务;为企业搭建全产业链布局的专业服务平台&#x…

常见的数据抽取工具对比

1.什么是ETL? ETL&#xff0c;是英文Extract-Transform-Load的缩写&#xff0c;用来描述将数据从来源端经过抽取&#xff08;extract&#xff09;、转换&#xff08;transform&#xff09;、加载&#xff08;load&#xff09;至目的端的过程&#xff0c;是数据仓库的生命线。 …

羊大师分析,夏季羊奶的适合人群有哪些?

羊大师分析&#xff0c;夏季羊奶的适合人群有哪些&#xff1f; 夏季羊奶的适合人群相当广泛&#xff0c;主要包括以下几类人群&#xff1a; 生长发育中的孩子&#xff1a;羊奶富含营养&#xff0c;特别是蛋白质和矿物质&#xff0c;对孩子的生长发育有积极的促进作用。 中老年…

6.2 整合MongoDB

6.2 整合MongoDB 1. MongoDB简介2. MongoDB安装2.1 下载2.2 配置MongoDB2.3 MongoDB的启动和关闭1. 启动MongoDB2. 关闭MogoDB 2.4 安全管理 ***************************************************************************** 1. MongoDB简介 MongoDB是一种面向文档的数据库管…

txt转epub,epub转txt在线转换,电子书格式转换器!

随着电子书阅读器的普及&#xff0c;EPUB格式已成为数字出版的标准格式之一。EPUB文件不仅具有跨平台的兼容性&#xff0c;还提供了丰富的排版和交互功能&#xff0c;使得读者在阅读过程中获得更好的体验。然而&#xff0c;许多用户手中的电子书资源可能仍是以TXT格式存在。 T…

C++之类和对象--赋值运算符重载和const成员函数

目录 1.赋值运算符重载 1.1运算符重载 1.2赋值运算符重载 1.3其它特性 2.const成员函数 3.取地址及const取地址操作符重载 hello&#xff0c;欢迎大家来到小恶魔频道&#xff0c;今天讲解的是C里面的赋值运算符重载以及const成员函数 1.赋值运算符重载 1.1运算符重载 运…

CentOS-7安装grafana

一、通用设置&#xff08;分别在4台虚拟机设置&#xff09; 1、配置主机名 hostnamectl set-hostname --static 主机名2、修改hosts文件 vim /etc/hosts 输入&#xff1a; 192.168.15.129 master 192.168.15.133 node1 192.168.15.134 node2 192.168.15.136 node33、 保持服…

uniapp微信小程序(商城项目)

最近&#xff0c;闲来无事&#xff0c;打算学一下uniapp小程序 于是在跟着某站上学着做了一个小程序&#xff0c;主要是为了学uniapp和vue。某站黑马优购 完成的功能主要有&#xff1a;首页、搜索、分类和购物车。 有人问了为什么没有登录、和添加订单呢&#xff1f;问的很好…

canvas 学习

最近的项目涉及到 canvas 相关的知识&#xff0c;就在网站上找资源先大概了解一下&#xff0c;然后再细细研究。 看到了一篇 “canvas详细教程” 的资源&#xff0c;感觉十分不错&#xff0c;就分享给大家&#xff1a; canvas详细教程! ( 近1万字吐血总结)这期是潘潘整理的万…

input的type=‘radio‘设置只读属性颜色为灰色,如何修改

目录 1.设置input和label的样式为不可点击。 2.设置input的readonly属性。 3.若想变回可修改&#xff0c;用js实现 4.如何自定义radio的颜色。 5.完整代码 input的单选框有时候需要实现只读&#xff0c;两个办法&#xff0c;一个disabled&#xff0c;一个是readonly. 但d…

面试十七、list和deque

一、 Deque Deque容器是连续的空间&#xff0c;至少逻辑上看来如此&#xff0c;连续现行空间总是令我们联想到array和vector,array无法成长&#xff0c;vector虽可成长&#xff0c;却只能向尾端成长&#xff0c;而且其成长其实是一个假象&#xff0c;事实上(1) 申请更大空间 (…

用户体验至上:独立站脱颖而出的关键要素解析

在数字化时代&#xff0c;独立站成为了许多品牌和企业展示自身形象、推广产品、建立客户联系的重要平台。然而&#xff0c;要想在众多的独立站中脱颖而出&#xff0c;吸引并留住用户&#xff0c;良好的用户体验至关重要。本文Nox聚星将和大家探讨如何做好独立站的用户体验&…

Rust实战 | 用 RustRover 开发猜数字游戏

#1、概述 从这期开始&#xff0c;我会以实际项目的形式&#xff0c;分享个人学习 Rust 语言的过程。期间&#xff0c;我不会讲太多语法知识&#xff0c;需要各位看官自行查阅文档&#x1f604;。 开始前&#xff0c;需具备 Rust 环境&#xff08;我用的是当前最新版本1.77.2&…

Syncovery for Mac v10.14.3激活版:文件备份和同步工具

Syncovery for Mac是一款高效且灵活的文件备份与同步工具&#xff0c;专为Mac用户设计&#xff0c;旨在确保数据的安全性和完整性。该软件支持多种备份和同步方式&#xff0c;包括本地备份、网络备份以及云备份&#xff0c;用户可以根据实际需求选择最合适的方案。 Syncovery f…