如何使用jgrapht库标记或着色顶点?

来源:爱站网时间:2021-11-18编辑:网友分享
如何使用jgrapht库标记或着色顶点?这个问题是爱站技术小编最近正在研究的课题,可以说是收获颇丰,现发出来供大家参考参考,希望能帮助到大家。

问题描述


我有兴趣使用jgrapht提供的各种类型的有向图和无向图类编写图着色算法。他们似乎都不容易在图类本身中执行此操作(例如DirectedSimpleGraph)。

我的目标是能够遍历图形对象,并向顶点添加/更改各种标签或颜色,而无需将顶点信息存储在对象本身之外,即我想使用或创建诸如“ DirectedSimpleGraph.setColorToVertex(v,c),其中v是顶点。c是可能定义为整数的颜色。任何线索或最佳实践建议将不胜感激。

解决方法:


能够为顶点着色或标记的典型方法是向jgrapht提供自己的Vertex类,该类存储所需的内容。例如,>

public class MyVertex {
  public String colour;
}

SimpleGraph g = 
    new SimpleGraph(DefaultEdge.class);
MyVertex v1 = new MyVertex();
MyVertex v2 = new MyVertex();

g.addVertex(v1);
g.addVertex(v2);

DefaultEdge edge = g.addEdge(v1, v2);

//traverse graph
Graphs.getOppositeVertex(g, edge, v1).colour = "red";

这样,您无需使用外部机制(例如哈希图)来跟踪顶点颜色/标签。

以上内容就是爱站技术频道小编为大家分享的如何使用jgrapht库标记或着色顶点?,看完以上分享之后,大家应该都知道怎么操作了吧。

上一篇:如何在春季注册FactoryBeans集合

下一篇:Ubuntu 18.04尽管已安装,但未找到Java命令,应该怎么办?

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载