[英]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.