这里的代码参考了很多别人的代码和文章。。
今天师兄做笔试题,我也跟着看,碰到了一个要构建有向图并判断节点是否有环的题。
另一位师兄说这个题可以用并查集做,并且做出来了,我用并查集试了试做不出来。。
我觉得这题大概是要用有向图做,考察有向图的构建及寻找有向环
但是我只会对着书本抄代码构建有向图,不会寻找环,就尝试了一下用前不久做爬虫用到的广度遍历来寻找有向环。。
import java.util.*;
public class test
{
public static void main(String[] args)
{
UF uf = new UF();
//构建有向图
uf.AddDependency(1, 2);
uf.AddDependency(2, 4);
uf.AddDependency(4, 1);
uf.AddDependency(1, 6);
uf.AddDependency(6, 5);
uf.AddDependency(5, 7);
uf.AddDependency(4, 7);
boolean isCycle;
isCycle = uf.MouldelsCycularDependency(7); //判断对应节点是否有环
Sy