有一个类Company
,它引用另一个实例Company
来表示parent
. 假设有四家公司c1
, c2
, c3
&c4
和c2
,c3
的c4
母公司设置为c1
。
例如:
public class Company {
public Company parent;
public Company() { }
public Company(Company parent) {
this.parent = parent;
}
public static void main(String[] args) {
Company c1 = new Company();
Company c2 = new Company(c1);
Company c3 = new Company(c1);
Company c4 = new Company(c1);
}
如果我们设置c2
为母公司c1
:
c1.parent = c2;
然后它将在公司层次结构中创建一个循环复杂度无限循环,我们必须在我们的系统中避免这种循环。
我们希望能够在运行时检测到这一点。在上述情况下,检查同一类对象的圈复杂度的最佳算法是什么?