私はT[,,]
(3D配列)に似たデータ構造を探していますが、時間が経つにつれて外側に広がる(あえて妥当な上限を持たない)事前に寸法を知ることはできません。私は同様に負のインデックスを使用したいと思います。拡張可能な3D配列のデータ構造ですか?
唯一のことは、ある種類のPoint3
構造体をキーにした辞書です。他の選択肢はありますか?私はできるだけ早く検索することを望みます。データは常に0,0,0
の周りに集まります。どの方向にも拡張できますが、ポイント間には「ギャップ」はありません。
私は私が先に行くと、ちょうど今のDictionary<Point3, T>
を使用し、それが実行する方法を確認するつもりだと思います。パフォーマンス上の問題がある場合は、負のインデックスを使用できるようにT[,,]
のラッパーを作成してみます。
N次元配列(実行時までの次元がわからない)を求めていますか?この配列で何をする予定ですか?あなたは配列があなたの問題の正しいデータ構造だと思いますか? –
@ProgrammingHero:特に3次元。高速検索時間が重要なので、私は配列を考えていました。しかし、私はそれについてもっと考えていますが、最終的にデータをアンロードしなければならないと思うので(データが大きすぎます)、データの「中心」が0,0,0からシフトする可能性があります。それはゲームのためのもので、毎秒何千から何百万回呼ばれることがあります。 – mpen
問題が発生した状況についてもう少し詳しく教えてください。また、サポートする必要のある非標準操作、つまり範囲クエリもありますか? –