java中建有向图_java – 避免在有向图中创建重复顶点(使用jgrapht)

我正在寻找一种避免在我的有向图中创建重复项的方法(我使用jgrapht库).

我读了一些据说要使用的主题:directedGraph.setCloneable(false);

但它似乎不对,在图书馆的文档中找不到它,我在这一行上得到一个错误,说它不存在.

我用以下方法创建了图表:

public static DirectedGraph directedGraph = new DefaultDirectedGraph(DefaultEdge.class);

然后它根据泛光填充算法为它添加顶点(在算法遍历每个点时添加顶点和边,下面是它的一部分):

// Up

xToFillNext = x-1;

yToFillNext = y;

if (xToFillNext==targetX && yToFillNext==targetY && !forbiddenDirection.equals(Direction.UP)) {

Point myPoint = new Point(x, y);

Point myNextPoint = new Point(xToFillNext, yToFillNext);

directedGraph.addVertex(myPoint);

directedGraph.addVertex(myNextPoint);

directedGraph.addEdge(myPoint, myNextPoint);

return true;

} else if (xToFillNext>=0 && originValue==matrix[xToFillNext][yToFillNext] && !forbiddenDirection.equals(Direction.UP)) {

Point myPoint = new Point(x, y);

Point myNextPoint = new Point(xToFillNext, yToFillNext);

directedGraph.addVertex(myPoint);

directedGraph.addVertex(myNextPoint);

directedGraph.addEdge(myPoint, myNextPoint);

fillingReachedTargetPosition =

fillReachesTargetPosition(matrix, xToFillNext, yToFillNext, targetX, targetY, fillValue, Direction.DOWN );

if (fillingReachedTargetPosition) {

return true;

}

}

但是当我打印顶点列表时,我需要摆脱重复,或者避免创建它们.有办法吗?

编辑:我创建了一个Point类:

public static class Point {

public int x;

public int y;

public Point(int x, int y)

{

this.x = x;

this.y = y;

}

@Override

public String toString() {

return ("[x="+x+" y="+y+"]");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值