快速上手 C++ 数据结构与算法
王健伟
《C++ 新经典》系列作者,资深 C++ 讲师
3224 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 55 讲
结束语 (1讲)
快速上手 C++ 数据结构与算法
15
15
1.0x
00:00/00:00
登录|注册

32|图的应用:如何通过关键路径估算完成工程需要的最短时间?

你好,我是王健伟。
这节课我们学习图的应用中的最后一个话题——关键路径问题。它解决的事估算完成某个工程所需要的最短时间的问题。说到“最短时间”,你应该就能反应过来,它是一个能帮助我们提高生产效率的算法。
我们还是从它涉及的基本概念开始说起。

“关键路径”都涉及什么基本概念?

前面介绍了 AOV 网,我们先回顾一下它的概念:有向图(无权值的)中若以顶点表示活动,有向边(弧)表示活动之间的先后关系,这样的有向图称为顶点表示活动的网,简称为 AOV 网。
这里引入与 AOV 网相对应的另一个概念:AOE 网(Activity On Edge Network)
什么意思呢?在一个表示工程的带权有向图中,以顶点表示事件,以有向边表示活动,以边上的权值表示完成该活动的开销或该活动的持续时间,这样的有向图称为边表示活动的网,简称 AOE 网。
这里有几个你需要理解的 AOE 网的性质。
只有在某顶点所代表的事件发生后,从该顶点出发的各有向边所代表的活动才能开始。
只有在进入某顶点的各有向边所代表的活动都结束时,该顶点所代表的事件才能发生。
有些活动是可以并行进行的,有些活动是要分先后的。
单看这些性质不是很好理解,我还是以做一盘番茄炒蛋菜为例,现在要估算做一盘番茄炒蛋菜最短需要多少时间。我们假设做菜的师傅有很多位,这盘番茄炒蛋菜的制作过程由多位师傅同时进行。我们梳理一下每个步骤需要的时间。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入介绍了如何利用AOE网来估算工程完成所需的最短时间,重点讨论了关键路径问题。AOE网是带权有向图,通过详细讨论AOE网的性质和关键点的计算方法,读者可以了解如何确定关键路径,从而确定工程所需的最短时间和影响工程进度的关键活动。文章通过具体例子和图示帮助读者理解了关键路径问题的求解过程和相关概念。此外,文章还强调了关键路径的重要性,指出只有在关键路径不发生改变的前提下,对关键活动进行优化才有意义。如果存在多条关键路径,提高工程效率需要同时提高这些关键路径上的关键活动速度。文章对工程规划和进度控制有着重要的指导意义,为读者提供了解决工程时间安排和优化的方法和思路。同时,文章还提供了关键路径算法的具体实现思路和代码示例,帮助读者更好地理解和应用关键路径算法。整体而言,本文内容丰富,技术性强,对工程管理和优化有着重要的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《快速上手 C++ 数据结构与算法》
新⼈⾸单¥68
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部