我需要找到类之间的循环依赖关系,我会立即记住"算法和数据结构"当然:
1)在单链表中查找循环(Floyd的循环查找算法)
2)深度优先搜索
所以,我有一个检查循环依赖的方法
private void FindDependency(IDictionary<string, IEnumerable<string>> serviceDependence)
在输入中,我们有一个字典,其中包含<"A", < "B", "C" >>
和<"B", < "A", "D" >>
,这意味着类A
取决于类B
和{{1} }。在输出中,我们在C
之间存在循环依赖关系(在更复杂的情况下,它将是一个依赖链)。
我应该使用哪种算法?为什么?