使用循环依赖检测进行依赖排序
dependency sort with detection of cyclic dependencies
在你把维基百科和博客的链接扔到我面前之前,请先听我说完。
我正试图找到最优的算法/函数做依赖排序…的东西。每个项都有一个它的依赖项列表。
我想要一些基于迭代器的东西,但这不是很重要。
重要的是,算法指出正是哪些项是依赖循环的一部分。我想给出在这种情况下的详细错误信息。实际上,我正在考虑从"依赖节点"类中子类化我的项目,该类具有完成工作所需的布尔值/函数。很酷(但描述性)的名字是受欢迎的:)
这通常被称为拓扑排序。大多数涉及拓扑排序的书籍/论文/其他内容当然也会涉及循环检测。
我不太明白为什么很难找到依赖循环,如果有的话!在应用BFS算法找出所有依赖项时,您只需检查是否有任何已经通过的节点。如果有的话,你只需回滚你向下访问一个节点的方式,并标记所有节点,直到你到达指定节点的第一次访问。通行证上的所有卡片都将被标记为一个周期。(只要留下评论,如果你需要的话,我会给你一个代码)
相关文章:
- 如何从C++中的依赖类型中获得它所依赖的类型
- 二叉排序树无法编译
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- C++选择排序算法中的逻辑错误
- 使用C++程序合并排序没有得到正确的输出
- 计算排序向量的向量中唯一值的计数
- 排序算法c++
- 使用2个键的cpp-stl::优先级队列排序不正确
- 将结构向量排序为子组
- 在c++中尝试对对象数组进行排序时,出现std:bad_alloc错误
- 如何对点云数据进行排序
- 对字符串进行排序时,在c++中处理sort()
- 是否有类似std::lower_bound的函数,而不需要排序/分区输入
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 将依赖名称显式标记为类型名和模板的奇怪之处
- C++依赖标头排序
- makefile强制库依赖项排序
- C++std列表排序使用自定义比较器,该比较器依赖于对象实例的成员变量
- 当无法重新排序时,依赖成员初始化
- 使用循环依赖检测进行依赖排序