算法解决依赖关系并构建树

5

谷歌搜索没有提供任何想法或解决方案,SO搜索也没有。(只有一篇帖子与相同的标题但不同的动机)。

是否有众所周知的算法、模式来解决依赖关系并构建对象层次结构。

  1. 它必须能够构建依赖输出树
  2. 处理循环依赖

注意:我可以参考现有产品构建一个,但是如果知道会发生什么以及它应该如何发生,我将比其他解决方案更快地完成它。

此算法的范围将是JavaScript依赖管理器、家谱树构建器等,可能从规范中构建树形或层次结构。例如,以JavaScript依赖管理器为例,以下是算法的工作方式。

Script a dependends

 1. script b 
 2. script c.

并且

Script b depends

 1. Script x 
 2. Script y

并且

Script x depends

1. Script J

所以这里是加载脚本的顺序。
Script j

  Script a

  Script x, Script y

          Script b

3
依赖关系不一定是层次结构或树形结构,更好地定义为图形结构。如果您搜索图形算法(包括构建和检查它们是否无环等),您的问题将得到解决。 - yamen
为什么不使用make、nant或MSBuild来为您完成这个任务呢? - AlG
@yamen一定会做到。 - Deeptechtons
@AlG 算法需要在服务器端控制中使用(在运行时)。 - Deeptechtons
1个回答

7
你正在寻找拓扑排序。在互联网上有很多关于这方面的信息。

2
拓扑排序!! 这让我想起了大学里的算法课。现在我把那本书放哪了,啊,烦人。 - Deeptechtons
谁知道你的计算机科学课程会有用呢?;-) 太神奇了。 - usr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接