【问题标题】:JGraphT create a random graph from pre existing verticesJGraphT 从预先存在的顶点创建一个随机图
【发布时间】:2020-05-23 20:37:24
【问题描述】:
我需要从几个预先存在的顶点创建一个随机图。
我还没有找到办法做到这一点。
每个教程都使用“VertexFactory”(顺便说一句,即使导入 org.jgraph.generate.* 也无法解决)在创建图形时组成顶点。
但我宁愿从已经存在的顶点生成图形。我对 WattsStragotz 算法特别感兴趣,但我还不知道。
使用 Jgrapht 已经编写好的 RandomGeneration 类可以做到这一点吗?
非常感谢
【问题讨论】:
标签:
random
graph
jgrapht
generate
jgraph
【解决方案1】:
是的,您可以这样做,但现在使用已添加到图形中的顶点。如果出于某种原因,您想使用预先存在的对象作为您的顶点,您可以执行以下操作:
- 将所有预先存在的顶点对象放入一个列表中
- 实现自定义 Vertex 供应商(旧的 VertexFactory 已停止使用,以支持较新 Java 版本中的供应商范式)。该顶点供应商迭代您的预定义顶点列表,并在每次调用供应商的 get() 方法时返回一个新顶点。
- 使用您的自定义顶点供应商创建一个新图形。在我们的 wiki 页面上查看 example。
- 在图上调用任何随机图生成器。