2009-06-12 20 views
8

スパース行列でいくつかの数学演算を行う必要があります。私は、特に行列が200以上の行を持つ可能性があるので、配列を使用することが自分のメモリを利用する最も効率的な方法ではないことに気付きました。私はリンクされたリストを使用することも考えましたが、それが良いかどうかは分かりません。この状況に適したデータ構造[アプローチ]はありますか?スパース行列を格納するためのデータ構造

答えて

11

「200行以上」はいくつですか?どのくらい疎? 1000倍の1000倍の倍数の行列はまだ8MB未満です。これは、同時にたくさん作業する必要がない限り心配するものではありません。

理想的なデータ構造は、主にどのような操作を実行する必要があるかによって異なります。

すぐに使用できるのは、すべての共通言語に対応するsparse matrix librariesです。あなた自身のものを使うよりもはるかに優れています。

+0

おかげで、これは非常に役立ちました。 – micaleel

1

スパース行列を含むいくつかのオープンソースのJava数学ライブラリです。あなたは、使用されているデータ構造を研究することができます。

0

新しい行列ライブラリーは、それが良いスパース行列をサポート可能性がありますように見えるJava用の外にあります:UJMP: The Universal Java Matrix Package

関連する問題