2013-02-21 130 views
-2

我搜索了谷歌並瀏覽了一些Safari Online的資料;我還沒有找到一個如何在Java中創建加權無向圖的好例子。加權無向圖

有沒有人有一個很好的例子,或任何材料,我可以閱讀的方法存儲加權,無向圖在Java中?

任何幫助和所有例子將不勝感激。

謝謝!

+0

如果只有Java有辦法創建新的類... – 2013-02-21 20:00:05

回答

0

保留圖表Nodes的列表以及圖表Edge的列表。每個Edge將包含對邊緣兩側的Nodes的引用以及重量。簡單。

+0

謝謝! 我理解這個理論,但我的麻煩是翻譯成代碼。我在這方面欠缺了! – Eric 2013-02-21 20:04:14

+0

@Eric - 那麼,[你有什麼嘗試?](http://whathaveyoutried.com) – 2013-02-21 20:26:42

0
+0

我認爲,OP正在尋找一些想法,從哪裏開始編寫一個圖形數據結構,以實現個人豐富/作業完成。 – 2013-02-21 20:18:56

+0

謝謝!我會看看這些! – Eric 2013-02-21 20:21:33

+0

「我認爲OP正在尋找一些想法,從哪裏開始編寫圖形數據結構以實現個人豐富/作業完成」 - 是的,我很困惑。抱歉! – Eric 2013-02-21 20:24:12

1

有很多方法可以做到這一點。 @貝利S提到了一個好方法。另一種有用的方法是使用鄰接矩陣。即二維陣列Integer[n][n]其中n是頂點,交點表示權重。空表示沒有邊緣。

+0

這是密集連接地圖的好方法,我的解決方案對於稀疏鏈接的地圖更好。 – 2013-02-21 20:07:13

+0

非常真實。這種方法對於稀疏圖不是有效的。然而,它在圖上執行矩陣運算的確有其自身的優勢。我不記得這樣做的用例,但我大學時代的模糊記憶似乎表明它們存在。 – Aurand 2013-02-21 20:23:02

+0

這可能聽起來很愚蠢,但我知道一個鄰接矩陣/列表表示一個圖形,它的節點和它的節點的鄰居。它可以完全代表一個圖表,這樣就不需要製作一棵樹 - 樹只是圖的特例。 – Eric 2013-02-21 20:23:16