如何设计CPM算法?

Posted

技术标签:

【中文标题】如何设计CPM算法?【英文标题】:how to design CPM algorithm? 【发布时间】:2009-12-09 09:26:09 【问题描述】:

如何用列表数据结构表示图我有三个类(图、节点、边),并希望在图中找到关键路径。

如何计算

ES:最早开始 EC:最早完成 LS : 最近开始 LC:最新完成

谢谢

【问题讨论】:

【参考方案1】:

另一种存储图形的方法是 Boost 图形库 (BGL)。从我在***上看到的,critical path 是两个顶点之间最长的路径。此外,对于一般情况,似乎找到longest path 是 NP Complete,但对于我认为是您的情况的有向无环图 (DAG),有更有效的算法。

最长路径算法不在 BGL 中,但***上的 DAG 算法看起来相当容易实现。

【讨论】:

【参考方案2】:

优秀的quickgraph库有描述图的类,以及大量的图算法,包括shortest path。你也许可以做类似的事情。

不过,您似乎想要的实际上比标准的图算法更复杂;似乎您希望 Microsoft Project 的核心以一种简单的算法可用,但不幸的是,事实并非如此。您可能会考虑购买一个项目副本,并使用它的 COM API 来创建您的计划——这可能是一种简单的方法,具体取决于您的环境。不过,我怀疑您将面临一大堆工作。

【讨论】:

我不知道 Qt 是什么,但我不明白为什么不知道。这是一个纯 .net 程序集,您可以在任何地方使用。

以上是关于如何设计CPM算法?的主要内容,如果未能解决你的问题,请参考以下文章

通信算法之五十五:基带算法链路设计

CAM和CPM有啥区别

通信算法之三十五:GMSK/MSK/CPFSK/CPM/FSK仿真链路

CPM同步连续相位调制(CPM)通信调制方法的载波同步和定时同步研究和matlab仿真

标准化之CPM/RPKM/FPKM/TPM

面试技巧程序员面试之如何回答算法设计问题?