如何用列表数据结构表示图形我有三个类(图形,节点,边缘),并希望在图形中找到关键路径。
如何计算
感谢
答案 0 :(得分:0)
优秀的quickgraph库包含用于描述图形的类和大量图形算法,包括shortest path。你也许可以做那样的事情。
然而,您似乎想要的东西实际上比标准图算法更复杂;看起来你想要一个简单算法中的Microsoft Project核心,不幸的是它不是。您可以考虑购买项目副本,并使用它的COM API来创建您的计划 - 这可能是一种简单的方法,具体取决于您的环境。不过,我怀疑你将面临一大堆工作。
答案 1 :(得分:0)
存储图形的另一种方法是Boost Graph Library(BGL)。从我在维基百科上看到的情况来看,critical path是两个顶点之间最长的路径。此外,对于一般情况,似乎发现longest path是NP完全,但对于有向无环图(DAG),我认为是你的情况,有更有效的算法。
最长路径算法不在BGL中,但维基百科上的DAG算法看起来相当容易实现。