小编典典

如何按依赖性对依赖对象进行排序

algorithm

我有一个收藏:

List<VPair<Item, List<Item>> dependencyHierarchy;

成对的第一个项目是某个对象(项目),第二个项目是第一个项目所依赖的相同类型对象的集合。我想获得一个List<Item>依序排列的依存关系,因此没有依赖于第一个元素的项目,依此类推(没有循环依存关系!)。

输入:

Item4取决于Item3和Item5
Item3取决于Item1
Item1不依赖任何一个
Item2取决于Item4 
Item5不依赖任何一个

结果:

项目1
项目5
项目3
项目4
项目2

谢谢。


阅读 499

收藏
2020-07-28

共1个答案

小编典典

使用拓扑排序的完美示例:

http://en.wikipedia.org/wiki/Topological_sorting

它会为您提供所需的确切信息。

2020-07-28