gpt4 book ai didi

c# - 极稀疏数组的实现

转载 作者:太空狗 更新时间:2023-10-29 21:25:07 27 4
gpt4 key购买 nike

我有一个非常稀疏的静态数组,每个数组有 4 个维度,每个维度为 8192,我想从 (C#) 中进行查找。这 4.5 * 10^15 个值中只有 68796 个是非零值。在速度和低内存使用率至关重要的情况下,最快的方法是什么?

谢谢

最佳答案

首先,我认为对于您的问题,普通数组显然是错误的数据结构类型。

使用 dictionary 怎么样?你在哪里使用 4- tuple作为索引?

var lookup = new Dictionary<Tuple<int,int,int,int>, int>();

我自己从未这样做过,但它应该可以正常工作。如果因为使用 .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>();

关于c# - 极稀疏数组的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4008407/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com