我有一个非常稀疏的静态数组,每个维度为8192,我想从(C#)进行查找.这些4.5 * 10 ^ 15值中只有68796个非零.什么是最快的方法,速度和低内存使用是至关重要的?
@H_301_2@谢谢
解决方法
首先,我认为普通数组显然是你问题的错误数据结构.
@H_301_2@如何使用dictionary作为索引使用4-tuple?
var lookup = new Dictionary<Tuple<int,int,int>,int>();@H_301_2@我自己从未这样做过,但它应该可以正常工作.如果由于您使用的是.NET 4之前的.NET Framework版本而没有准备好Tuple,则可以提供自己的索引类型:
struct LookupKey { public readonly int First; public readonly int Second; public readonly int Third; public readonly int Fourth; … } var lookup = new Dictionary<LookupKey,int>();