繁体   English   中英

在Java中存储顶点-映射边缘

[英]Storing vertices in Java - Mapping Edges

我正在尝试构建具有顶点A,B,C和D的图。如果存在重叠,则该图必须将边映射到特定顶点,例如,顶点A和C重叠,因为A具有1-> 2, C具有1-> 4。

一种有效的方法是存储这些顶点,然后检查它们的值是否相互重叠?

例:

A 1 2 3 4  
B 9 10 12 13  
C 1 4 2 3   
D 15 16 17 18 

这取决于期望这些图多久更改一次。 如果只是一次,将顶点约束存储在Map<Vertex, Set<Constraint> ,计算交点,然后将最终图形存储为邻接表或矩阵就可以了。

你会做类似的事情

For each vertex v:
   For each other vertex u
    if constraints(u) intersect constraints(v)
        add edge between u and v

您将最终得到一个对称无向图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM