我有一个代表一组依赖项的大图。用户可以指定他们想要使用一定数量的这些依赖项,我需要找出使用它们的正确顺序(它们可以指定不直接相关但依赖于图中其他节点的依赖节点)
目前,我正在通过运行拓扑排序的图表来实现此功能,并在用户指定的所有节点都已排序后停止。但是,这不会导致所需的依赖项的最小类型,我必须返回并尝试删除任何不需要的节点。
有没有更好的方法来执行此操作或已知算法来查找节点子集的拓扑排序?
答案 0 :(得分:1)
最佳解决方案可能是构建仅由用户选择的节点的新图,并适当地分配依赖关系。例如,如果A - > B - > C,用户选择A和C,则构造的图形是A - > C。然后做一个标准的拓扑排序。