目前写了个有向图深度优先递归算法,求出所有环路。
作为一个实际需求的前奏。
循环的单位叫做Serv
服务与服务关系,模拟数据库里面存放的二元关系,用ServRel类代替。
public class GraphFindCycle {
public List servList;
public void setServList(List servList){
this.servList = servList;
}
class ServRel{
public String useServId;
public String providerServId;
public double amount;
}
class Serv{
public String servId;
public List refServ = new ArrayList();
}
public List findRefServ(String servId,List servRelList){
List refServList = new ArrayList();
for(int i=0;i
ServRel rel = (ServRel)servRelList.get(i);
if(servId.equals(rel.useServId)){
refServList.add(rel.providerServId);
}
}
return refServList;
}
cl