2011-12-27 67 views
2

我希望你能幫助我解決關於圖/樹的一些技術問題。樹/圖表,如何表示多個父母和孩子?

我試圖顯示在系統中的對象的創建。 這實際上是一個樹形結構。


它有一些有趣的要求。

a) 一個節點可以有很多孩子。說20.也許更多。 即。一個庫可以被許多對象使用。

b) 一個子節點可以有許多父母。多達20個。 即。許多庫被一個過程或對象使用

c) 特定節點可能出現在多個位置。 即。通用打印或日誌記錄功能在許多程序中被調用

注意:這只是一個技術術語中的示例 - 我希望您能理解。 這不是我需要建模的問題。沒有必要討論它。


正如我想到的那樣,我意識到它不是簡單的二叉樹或鏈表。

1) 什麼樣的數據結構可以保存所有的數據?

2) 我怎麼能在java中產生這個圖?

3) 什麼是免費的開源圖形軟件,可以繪製這樣一棵樹? 如Neo4j

也許格式爲: - 作爲一棵樹,具有根,樹幹,樹枝和樹葉? - 就像你現在看到的圖,描繪社交網絡,中心的根節點?

4) 任何優秀的網站,或關於這個問題的教程?

非常感謝!

回答

0

結帳prefuse。這是舊的,但它的工作。你必須花一點時間來學習如何使用它。一旦你到達那裏,只需要創建一個prefuse.data.Graph對象並填寫你的節點及其鄰居,然後創建可視化。

如果您打開其他解決方案,請查看d3.js - 在瀏覽器中使用JavaScript在SVG元素上繪製圖形。

0

如果這確實是關於對象,那麼也許UML可以提供幫助。它旨在生成對象關係圖。那裏有大量免費的UML工具。我會下載一個,看看你是否可以將應用程序放入其中。