我正在尝试找出一个有向无环图的宽度...它由任意排序的节点列表表示,甚至没有邻接表。
该图/列表用于并行GNU Make类似的工作流管理器,使用文件作为其执行顺序的标准。每个节点都有一组源文件和目标文件。我们已经建立了一个哈希表,以便可以确定生成给定文件的节点。通过使用此表,我们可以检查生成其每个源文件的节点来确定节点的父节点。
这是我现在唯一能做到的能力,而不会严重改变代码。该代码已经在公共使用中一段时间了,我们最不想做的就是显著改变结构并发布糟糕的版本。不,我们没有时间进行严格测试(我在学术环境中)。理想情况下,我们希望能够在不做比添加节点更危险的事情的情况下完成此操作。
我将发布社区维基答案,概述我的当前方法及其缺陷。如果有人想编辑它或以此为起点,请随意。如果有什么我可以澄清的事情,我可以回答问题或发布代码。
谢谢!
编辑:对于任何关心的人,这将是C语言。是的,我知道我的伪代码是一些可怕的Python模仿品。我有点希望语言并不真的很重要。
该图/列表用于并行GNU Make类似的工作流管理器,使用文件作为其执行顺序的标准。每个节点都有一组源文件和目标文件。我们已经建立了一个哈希表,以便可以确定生成给定文件的节点。通过使用此表,我们可以检查生成其每个源文件的节点来确定节点的父节点。
这是我现在唯一能做到的能力,而不会严重改变代码。该代码已经在公共使用中一段时间了,我们最不想做的就是显著改变结构并发布糟糕的版本。不,我们没有时间进行严格测试(我在学术环境中)。理想情况下,我们希望能够在不做比添加节点更危险的事情的情况下完成此操作。
我将发布社区维基答案,概述我的当前方法及其缺陷。如果有人想编辑它或以此为起点,请随意。如果有什么我可以澄清的事情,我可以回答问题或发布代码。
谢谢!
编辑:对于任何关心的人,这将是C语言。是的,我知道我的伪代码是一些可怕的Python模仿品。我有点希望语言并不真的很重要。