問題タブ [sparse-array]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Javaの疎行列/配列
私は Java で書かれたプロジェクトに取り組んでいます。このプロジェクトでは、非常に大きな 2 次元疎配列を構築する必要があります。それが違いを生む場合、非常にまばらです。とにかく、このアプリケーションの最も重要な側面は、時間の効率性です (メモリの負荷を想定しますが、標準の 2 次元配列を使用できるほど無制限ではありません。重要な範囲は両方の次元で数十億です)。 )。
配列内の無数のセルのうち、オブジェクトを含む数十万のセルがあります。セルの内容を非常に迅速に変更できる必要があります。
とにかく:この目的のために特に優れたライブラリを知っている人はいますか? Berkeley、LGPL、または同様のライセンスである必要があります (製品を完全にオープンソースにすることはできないため、GPL は使用できません)。または、自作のスパース配列オブジェクトを作成する非常に簡単な方法があれば、それも問題ありません。
MTJを検討していますが、品質についての意見は聞いていません。
c# - JavaScriptスパース配列とC#(スパース)配列をマッピングする推奨方法は?
JavaScript スパース配列を C# 表現にマップしようとしています。
これを行うための推奨される方法は何ですか?
元の配列に値が含まれていたオリディナルのリストを含む辞書を使用することを検討しています。
他のアイデアはありますか?
ありがとう!
json - JSONでスパース配列を表す方法は?
JSONで表現したいスパース配列があります。例えば:
これどうやってするの?これはできますか?
java - Java の時間効率の良いスパース 1D 配列 (double)
double の非常にまばらなベクトルを操作するには、効率的な Java 構造が必要です。つまり、基本的な読み取り/書き込み操作です。HashMap に実装しましたが、アクセスが遅すぎます。別のデータ構造を使用する必要がありますか? おすすめの無料ライブラリを教えてください。
平和的なアドバイスを探しています:)
どうもありがとう、
マリー
java - Javaでスパースベクターを実装する最良の方法はどれですか?
Javaでスパースベクターを実装する最良の方法はどれですか?
もちろん、非常に簡単に操作できるものがあるとよいでしょう (正規化、スカラー積など)。
前もって感謝します
php - スパース json オブジェクトを php 配列にデコードする
次のコマンドを使用して、スパース php 配列 (またはマップ) を作成できます。
これをJSONとしてシリアライズ/デシリアライズしたい。次のコマンドを使用してシリアル化できます。
結果は string になります{"10":"hi","test20":"howdy"}
。ただし、これを逆シリアル化し、次のコマンドを使用して配列にキャストすると:
有効なphp識別子ではないキーとのマッピングが失われたようです。つまり、mynewarray
マッピングはありますが、 nor'test20'=>'howdy'
はありません。10=>'hi'
'10'=>'hi'
json_encode
標準/json_decode
関数を使用してjsonとの間で変換するときに、phpマップに数値キーを保持する方法はありますか?
(PHP バージョン 5.2.10-2ubuntu6.4 を使用しています。)
javascript - スパース配列を処理するJSON実装
JSON実装がスパース配列を満足のいくように処理できるかどうかを知る必要があります。私は質問を見ました:JSONでスパース配列を表現する方法は?しかし、配列ではなくオブジェクトを使用することは私にとってオプションではありません。配列が必要です。
私の最小要件は、実装が「未定義」でギャップを埋めることです。それ以外の場合は、JSONエンコードの前に、自分でギャップを埋める防御コードを作成しています。
c++ - sparse_vectorクラスを実装する方法
テンプレート化されたsparse_vectorクラスを実装しています。これはベクトルのようなものですが、デフォルトの構築値とは異なる要素のみを格納します。
したがって、sparse_vectorは、値がT()ではないすべてのインデックスの遅延ソートされたインデックスと値のペアを格納します。
私は、数値ライブラリ内の既存のスパースベクトルに基づいて実装を行っていますが、非数値型Tも処理します。見てみましboost::numeric::ublas::coordinate_vector
たeigen::SparseVector
。
両方のストア:
単純に使ってみませんか
私の主な質問は、両方のシステムの長所と短所は何ですか、そしてどちらが最終的に優れているかです。
ペアのベクトルは、size_とcapacity_を管理し、付随するイテレータクラスを単純化します。また、2つではなく1つのメモリブロックがあるため、再割り当ての半分が発生し、参照の局所性が向上する可能性があります。
他のソリューションでは、検索中にキャッシュラインがインデックスデータのみでいっぱいになるため、検索が速くなる可能性があります。Tが8バイトタイプの場合、アライメントの利点もいくつかありますか?
ペアのベクトルがより良い解決策であるように私には思えますが、両方のコンテナーがもう一方の解決策を選択しました。なんで?
python - Python で優れたスパース 1 次元配列ライブラリを知っている人はいますか?
私は、int64 の配列を多用する Python のアルゴリズムに取り組んでいます。通常、配列はまばらで、常に読み取りと書き込みが行われます。現在、比較的大きなネイティブ配列を使用しており、パフォーマンスは良好ですが、メモリ使用量が高くなっています (予想どおり)。
配列の実装で、使用されていない値のスペースを無駄にせず、ゼロ以外のインデックス オフセットを許可できるようにしたいと考えています。例として、数値が 1,000,000 から始まる場合、1,000,000 から始まる配列にインデックスを付け、100 万の未使用の値でメモリを浪費する必要がないようにしたいと考えています。
配列の読み取りと書き込みは高速である必要があります。新しい領域への拡大は少し遅れる可能性がありますが、可能であれば読み取りと書き込みは O(1) にする必要があります。
それができるライブラリを知っている人はいますか?
ありがとう!
データ型として int64 を記載するように更新されました。
java - java:スパースビットベクトル
スパースビットベクトル用のJavaでよく知られているライブラリはありますか?
(そして、スパースとjava.util.BitSetの使用にどのように役立つかについてのガイドラインはありますか?)