簡體   English   中英

Java中的數據結構無向圖

[英]Data Structure Undirected Graph in Java

假設其中邊具有int值的無向圖。

圖表示例

A---B---C
    |
    D

邊值示例

A,B : 1
B,C : 2
B,D : 2

我正在編寫一個執行以下操作的程序:給定一個節點,返回該節點所涉及的所有邊以及關聯的值。 例如:IN:B→OUT:(C,2),(D,2)。 或IN:C→OUT:(B,2)。 我正在尋找一個有效的數據結構來做到這一點。 這個問題並非來自圖論,我只是用它來解釋它。 我對最短路徑等不感興趣,僅對這種數據存儲感興趣。

我唯一能很快想到的是:

HashMap<String,Tuple>

哪里

class Tuple{
    String node;
    int value;
}

然后,我將每個邊緣放入該集合兩次,例如(偽代碼):

hm.add(A, new Tuple(B,1))
hm.add(B, new Tuple(A,1))

有沒有更有效的方法可以做到這一點?

番石榴的ValueGraph怎么ValueGraph

https://github.com/google/guava/wiki/GraphsExplained

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM