2016-06-15 3 views
1

私のテキストは、配列のインデックスを表すために使用される整数として頂点を使用します。これがコンセプトを単純化するか、実際に実際に使用されているかどうかはわかりません。グラフデータ構造 - 実際のアプリケーションではどのように表現されていますか?

実世界でどのように表現されていますか?配列インデックスの整数?マップキーのオブジェクト?

多分、誰かが実際のグラフアプリケーション/ライブラリを追加して、表現方法を明らかにすることができますか?

答えて

0

Pythonリストの形で縁(頂点1、頂点2)のリストとしてグラフを表現するための最も簡単な方法はここで

graph = [[1,2],[2,3],[1,3],....,[1,5]] 

または類似の(数字は単なる例のためのものであろう。にあなたはおそらくのNeo4j(http://neo4j.com/を参照してください、Javaを使用して実装された)またはケーリー(GOを使用して実装)https://github.com/google/cayley

0

のようなグラフデータベース(グラフ用のNoSQLストレージのタイプ)を使用したい現実の生活では必要最低限​​を使用してください。整数は、あなたのニーズを満たす場合は、 ノードごとに余分なデータが必要な場合は、いくつかのオブジェクトを使用してください。 また、ノードに整数とオブジェクトの両方を使用し、整数が0から連続していることを確認できます。

これはノード(頂点)のものです。

エッジの場合、データ構造、隣接リスト、隣接行列、エッジのリスト、発生率行列などはほとんどありません。それらの詳細については、アルゴリズムに関する書籍またはwikipediaを参照してください。

0

どのように2人の人物/物事/ノードが接続されていますか。彼らの間の関係は何ですか? facebookはそれの素晴らしい例です。

は、これらの問題

1考慮する)Number of mutual friends you have with your friend "Harry"

2)using google maps, tell me the shortest path to reach from place A to place B

これらの問題の全ては、グラフベースとしています。 隣接リストと行列のグラフの問題を解決することをお勧めします。どの表現をいつ使うべきかを知ることができます。

関連する問題