有一个类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;
然后它将在公司层次结构中创建一个循环复杂度无限循环,我们必须在我们的系统中避免这种循环。
我们希望能够在运行时检测到这一点。在上述情况下,检查同一类对象的圈复杂度的最佳算法是什么?