2011-12-27 7 views
2

私はあなたがグラフ/木に関するいくつかの技術的な質問で私を助けてくれることを願っています。ツリー/グラフ、複数の親と子を表現する方法?

私はシステムにオブジェクトの作成を表示しようとしています。 これは本当にツリー構造です。


これにはいくつかの興味深い要件があります。

a) 1つのノードに複数の子を持つことができます。 20.もっと言うかもしれない。 すなわち多くのオブジェクトで1つのライブラリを使用できます。

b) 子ノードには多くの親が存在できます。 20までと言う。 ie。多くのライブラリが1つのプロシージャまたはオブジェクトによって使用されます。

c) 特定のノードは複数の場所に表示されます。 すなわち汎用印刷、またはロギング機能が多くの手順で呼び出されます

注:これは単なる例です。 私はモデル化する必要はありません。議論する必要はありません。


これまで考えていたように、単純なバイナリツリーやリンクリストではないことに気付きました。

1) すべてのデータをどのようなデータ構造で保存できますか?

2) このグラフをJavaでどのように作成できますか?

3) このようなツリーをグラフ化できる無料のオープンソースのグラフ作成ソフトウェアとは何ですか? などNeo4j

おそらくフォーマット: - ルート、トランク、ブランチ、およびリーフがありますか? - ソーシャルネットワークを描いたグラフのように、ルートノードは中央にありますか?

4) このテーマに関する良いウェブサイトやチュートリアルはありますか?

ありがとうございます!

答えて

0

チェックアウトprefuse。それは古いですが、それは動作します。あなたはそれを使用する方法を学ぶために少し時間を投資する必要があります。ひとたびそこに着くと、prefuse.data.Graphオブジェクトを作成し、ノードとその隣人を記入して視覚化を作成するだけです。

他のソリューションをご利用の場合は、d3.js - ブラウザのSVG要素でjavascriptを使用してグラフを描画してください。

0

これは実際にオブジェクトに関するものであれば、おそらくUMLが役に立ちます。これは、オブジェクト関係のグラフを生成するように設計されています。そこには無料のUMLツールがたくさんあります。私は1つをダウンロードして、あなたのアプリケーションをそれに靴ひねりできるかどうかを見ます。

0

JGraphTはグラフ構造を表すことができ、可視化のためにJGraphを使用できます。

視覚化の例については、thisをご覧ください。

関連する問題