簡體   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