关键路径
让编程改变世界
Change the world by program
关键路径
上节课小甲鱼讲的这个拓扑排序主要是为了解决一个工程能否顺序进行的问题,但有时我们还需要解决工程完成需要的最短时间问题。 譬如说,造一辆汽车,我们需要先造各种各样的零件(一般的轿车由一万多个不可拆解的独立零件组成,F1赛车更是高达两万多个),最终再组装成整车。 请问汽车厂造一辆汽车,最短需要多少时间呢?我们这里简单给大家参考,其中生产轮子:0.5天,发动机:3天,底盘:2天,外壳:2天,其他零部件:2天,全部零部件集中到一处:0.5天,组装成车并测试:2天有童鞋说时间不就是全部加起来嘛,这显然不对,因为现在生产普遍是引进了流水线模式,就是所有的零部件是再不同的流水线上同时生产的,也就是说,在发动机生产的这3天里,已经生产了6个轮子,1.5个外壳和1.5个底盘,而组装车是在这些零部件都生产好后才可以进行的。 因此最短的时间其实是零部件中生产时间最长的发动机3天+集中零部件0.5天+组装车的2天,一共5.5天可以完成一辆汽车的生产。
AOE网:
在上节课讲了AOV网的基础上,我们来介绍一个新的概念。 在一个表示工程的带权有向图中,用顶点表示事件,用有向边表示活动,用边上的权值表示活动的持续时间,这种有向图的边表示活动的网,我们称之为AOE网(Activity On Edge Network)。 我们把AOE网中没有入边的顶点称为始点或源点,没有出边的顶点称为终点或汇点。其实有些童鞋可能会觉得这么多鸟文的缩写怎么才能记住丫,坑爹的英语伤不起啊,大家不妨可以试试联想记忆:例如上节课讲的AOV网,小甲鱼不是举了“我想拍一部色情电影”的例子嘛,那刚好AOV里边有个AV,AVAV,AV女优嘛,这就联想起来了。这节课我们开头就整了个法拉利F40,刚好出现了个AOE网,里边有个AE,丫~~,这让小甲鱼很容易又想到了最喜欢的游戏:极品飞车就是由EA sports发行的,所以也很容易挂钩起来了,想忘记或者混淆都难,你说呢?No Pic You Say A J8:



课后思考
1. 关键路径如何建立在拓扑序列上。 2. 谷歌、百度、维基以下关键词etv(Earliest Time Of Vertex) ltv(Latest Time Of Vertex) ete(Earliest Time Of Edge) lte(Latest Time Of Edge)3. 想想代码如何构成,下节课我们谈代码编写! [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/BdsUAwLndACZoMhRab3']视频下载[/Downlink]