【发布时间】:2009-12-09 09:26:09
【问题描述】:
如何用列表数据结构表示图我有三个类(图、节点、边),并希望在图中找到关键路径。
如何计算
- ES:最早开始
- EC:最早完成
- LS : 最近开始
- LC:最新完成
谢谢
【问题讨论】:
标签: c++ algorithm project-management
如何用列表数据结构表示图我有三个类(图、节点、边),并希望在图中找到关键路径。
如何计算
谢谢
【问题讨论】:
标签: c++ algorithm project-management
另一种存储图形的方法是 Boost 图形库 (BGL)。从我在维基百科上看到的,critical path 是两个顶点之间最长的路径。此外,对于一般情况,似乎找到longest path 是 NP Complete,但对于我认为是您的情况的有向无环图 (DAG),有更有效的算法。
最长路径算法不在 BGL 中,但维基百科上的 DAG 算法看起来相当容易实现。
【讨论】:
优秀的quickgraph库有描述图的类,以及大量的图算法,包括shortest path。你也许可以做类似的事情。
不过,您似乎想要的实际上比标准的图算法更复杂;似乎您希望 Microsoft Project 的核心以一种简单的算法可用,但不幸的是,事实并非如此。您可能会考虑购买一个项目副本,并使用它的 COM API 来创建您的计划——这可能是一种简单的方法,具体取决于您的环境。不过,我怀疑您将面临一大堆工作。
【讨论】: