リンクリストやマトリックスを使ってグラフを実装する方法を知っています。しかし、私はリンクされたリスト&をいつグラフ表現のためにマトリックスを使うべきかを知りたいですか?リンクリストとマトリックスを使ったグラフ表現
4
A
答えて
4
V =グラフの頂点
ポイント有利マトリックスの数:
1.エッジそれに対し、一定時間内にその端頂点所与(エッジは2つの頂点の間に存在するかどうかを調べる)にアクセスすることができ隣接リストを使用している間にO(度(頂点))の時間をとります。
2.グラフが密集している場合は、行列が良好です。さもなければ、それはO(V * V)スペースを使用するのでスペースを無駄にする。
adjacency listを好む点:
1.隣接リストを使用する場合、O(度(頂点))が必要ですが、頂点の近傍を反復するにはO(V)時間が必要です。
2.隣接リストには多くの領域がありません。
0
4
1
これら2つの実装はメモリ消費と複雑さの面で優れています。
- 行列表現は、それが より多くのスペースを消費定数 時間挿入および除去要素が、(一般に)要素にランダムアクセスを可能にします。
- 一方、リンクされたリストは、でもですが、 の要素および近傍へのアクセスは、となる可能性があります。
0
常に行列を使用します。
スパース行列を表すためにリンクリストを使用するさまざまな方法を含む、メモリ内の行列の表現方法はさまざまです。行列計算に関する良い本は、いつ使うべきかについての多くの表現とガイドラインを持っています。あなたのグラフによっては、それほど一般的ではない表現の1つが適切かもしれません。
関連する問題
- 1. グラフを使用したデータ表現
- 2. グラフィック表現へのマトリックス - Java
- 3. adjacenyマトリックスを使ってグラフの問題を解決する
- 4. リンクリストの配列表現
- 5. グラフ表現
- 6. LWUITを使った円グラフ、棒グラフ、グラフ
- 7. 巨大マトリックス/テーブルを表現する
- 8. 翻訳とスケーリングをマトリックスとして表現する方法は?
- 9. SQLで多重リンクリストを表現する
- 10. Javaのグラフ表現
- 11. 正規表現を使った正規表現を使用した文字列
- 12. フレックス4 - 3dレイアウトと縦棒グラフ(マトリックス)
- 13. Cを使ったリンクリストのセグメンテーションフォールト
- 14. ロボットフレームワークドットを使った正規表現
- 15. re.findallを使ったPython正規表現
- 16. matplotlibとpsycopg2を使った動的グラフ
- 17. ツールチップと色を使ったGoogleのグラフ
- 18. ggplot2とプロットを使った横棒グラフ
- 19. C#を使ったPDFとグラフ
- 20. 発生率マトリックスのグラフMatlab
- 21. グラフの表現:隣接リストと行列
- 22. マトリックス値とカラーマップを表示
- 23. 正規表現とPythonを使ったフレーズマッチング
- 24. JavaScriptと正規表現を使ったURL操作
- 25. Minecraft Consoleとnodejsを使った正規表現
- 26. matlabライブラリを使ってPythonオンラインコンパイラを使ってグラフを表示
- 27. グラフと表を使ってpdfを生成するには?
- 28. OGDFとQtを使ってグラフを表示する
- 29. DFSはリンクリストを2次元マトリックスに使用しています - C
- 30. このグラフをPythonで表現する
リンクリストは、マトリックスとは異なる抽象レベルにあります。行列は2次元でインデックスされた数の集まりなので、「反復可能で非インデックスの辺のコレクション」と隣接行列、リンクリストとエッジ配列の2次元配列を比較し、他のすべての可能性を無視する必要があります表現。 –