sparse-array相关内容

Java 中的内存高效稀疏数组

(有一些关于节省时间的稀疏数组的问题,但我正在寻找内存效率.) 我需要一个 List 或 Map 的等价物 只需设置一个比之前遇到的任何密钥都大的密钥,即可按需增长.(可以假设键是非负的.) 在大多数索引不是 null 的情况下,与 ArrayList 的内存效率差不多,即当实际数据不是很稀疏时. 当索引稀疏时,消耗的空间与非null 索引的数量成正比. 比 HashMap 使用 ..
发布时间:2021-12-21 10:04:01 Java开发

Java 中的稀疏矩阵/数组

我正在处理一个用 Java 编写的项目,该项目要求我构建一个非常大的二维稀疏数组.非常稀疏,如果这有所作为.无论如何:这个应用程序最重要的方面是时间方面的效率(假设内存负载,虽然没有几乎无限地允许我使用标准的二维数组——关键范围是两个维度的数十亿). 在阵列中的 kajillion 单元中,将有几十万个单元包含一个对象.我需要能够非常快速地修改单元格内容. 无论如何:有没有人知道为此目 ..
发布时间:2021-11-25 14:36:50 Java开发

在 Javascript 中压缩稀疏数组?

我有一个元素数组,其中条目很稀疏.如何轻松地将稀疏数组压缩为密集数组,以便每次遍历数据时都不必继续检查 null 和 undefined 值? 以下是一些示例数据: var sparse = [];稀疏[1] = 未定义;稀疏[5] = 3;稀疏 [10] = 空;var 密集 = sparseToDenseArray(sparse);//密集应该是 [3] 解决方案 在 vanill ..
发布时间:2021-11-18 04:36:22 前端开发

Fortran中的自动稀疏矩阵

我知道Intel Fortran的库具有用于处理稀疏矩阵的函数和子例程,但是我想知道首先是否还有某种数据类型或自动方法来创建稀疏矩阵. 背景:我有一个程序使用了3&在前两个维度中可能非常大的4维数组(每个维度中的〜10k到〜100k元素,也许更多).在前2维中,每个数组的填充数最多(占95%左右)为零.为了使程序对具有“正常" RAM数量的计算机友好,我想转换为稀疏矩阵.当前常规阵列的处理方 ..

如何使用SparseArray作为适配器的源?

我有一个要在Spinner中填充的值的稀疏数组,选择该项目后,我想获取id(这是稀疏数组的键). 从SparseArray创建适配器的首选方法是什么? 是否可以继承现有适配器(如BaseAdapter或ListAdapter)的子类,以便使这些项具有SparseArray中的项作为项ID? 我不知道如何实现上述目标,我正在考虑创建一个简单的ArrayAdapter实例,并从Spa ..

如何实现sparse_vector类

我正在实现模板化的sparse_vector类.它就像一个向量,但只存储与其默认构造值不同的元素. 因此,sparse_vector将为所有值不是T()的索引存储惰性排序的索引值对. 我的实现基于数字库中现有的稀疏向量-尽管我也将处理非数字类型T.我看了boost::numeric::ublas::coordinate_vector和eigen::SparseVector. 两家 ..
发布时间:2020-08-06 02:23:36 C/C++开发

代表稀疏张量的数据结构?

什么是合适的数据结构来表示C ++中的稀疏tesnor? 我想到的第一个选项是boost::unordered_map,因为它允许像快速设置和检索元素这样的操作,如下所示: A(i,j,k,l) = 5 但是,我还希望能够对单个索引进行收缩,这将涉及对其中一个索引的求和 C(i,j,k,m) = A(i,j,k,l)*B(l,m) 使用boost::unordered_map实 ..
发布时间:2020-08-06 02:21:20 C/C++开发

HDF5中的稀疏阵列支持

我需要以某种方式在磁盘上存储512 ^ 3阵列,而我目前正在使用HDF5.由于阵列稀疏,因此浪费了很多磁盘空间. HDF5是否提供对稀疏数组的任何支持? 解决方案 分块数据集(H5D_CHUNKED)允许稀疏存储,但是取决于您的数据,开销可能很重要. 采用一个典型的数组,同时尝试稀疏和非稀疏,然后比较文件大小,然后您会发现它是否确实值得. ..
发布时间:2020-08-06 02:15:07 其他开发

在Mathematica中对稀疏数组的有效替代(Outer)吗?

假设我有两个非常大的列表{a1,a2,…}和{b1,b2,…},其中所有ai和bj都是大型稀疏数组.为了提高内存效率,我将每个列表存储为一个综合的稀疏数组. 现在,我想在ai和bj的所有可能对上计算一些函数f,其中每个结果f [ai,bj]再次为稀疏数组.顺便说一下,所有这些稀疏数组都具有相同的维数. 而 Flatten[Outer[f, {a1, a2, ...}, {b1, ..
发布时间:2020-08-06 02:14:02 其他开发

使用SIMD(AVX2)的稀疏阵列压缩

我有一个稀疏数组a(大多数为零): unsigned char a[1000000]; ,我想使用带有AVX2的Intel x64体系结构上的SIMD指令创建指向a的非零元素的索引的数组b.我正在寻找技巧,以有效地做到这一点.具体来说,是否存在SIMD指令来获取SIMD寄存器中连续排列的连续非零元素的位置? 解决方案 五个计算非零索引的方法是: 半向量化循环:使用字符加载 ..
发布时间:2020-05-21 20:32:47 C/C++开发

是否有类似coo_matrix的东西,但矢量稀疏?

我正试图从存在一些重叠索引的一系列数组中创建一个稀疏向量.对于矩阵,有一个非常coo_matrix((data, (i, j)), [shape=(M, N)]) 因此,如果数据恰好具有重复的元素(因为它们的i,j索引相同),则将这些元素累加到最终的稀疏矩阵中.我想知道是否可以对稀疏向量做类似的事情,还是只需要使用这个对象并假装它是1列矩阵? 解决方案 虽然您可以复制1d等效项,但仅 ..
发布时间:2020-05-18 23:21:36 Python

点云中的局部最大值

我有一个点云C,其中每个点都有一个关联的值.假设这些点在二维空间中,因此每个点都可以用三元组(x,y,v)表示. 我想找到局部最大值的点的子集.也就是说,对于某个半径R,我想找到C中的点S的子集,使得对于S中的任何点Pi(​​值为vi),在Pi的R距离内C中的点Pj都不存在,其值vj为大于vi. 我知道如何在O(N ^ 2)时间内做到这一点,但这似乎很浪费.有没有一种有效的方法可以做到 ..

如何在JSON中表示稀疏数组?

我有一个要在JSON中表示的稀疏数组.例如: -10 => 100 -1 => 102 3 => 44 12 => -87 12345 => 0 我该怎么做?我可以这样做吗? 解决方案 您可以将其表示为简单的对象: { "-10" : 100, "-1" : 102, "3" : 44, "12" : -87, "12345" : ..
发布时间:2019-11-23 21:54:37 其他开发

javascript排序稀疏数组保持索引

对稀疏数组进行排序并将元素保留在相同索引上的最佳方法是什么? 例如: a [0] = 3, a [1] = 2, a [2] = 6, a [7] = 4, a [8] = 5, 我希望在排序之后 a [0] = 2, a [1] = 3, a [2] = 4, a [7] = 5, a [8] = 6. 解决方案 这是一种方法。它将已定义的数组 ..
发布时间:2019-06-05 23:14:23 前端开发

我应该如何以索引顺序迭代稀疏数组?

我有一个稀疏数组,其内容不能保证以索引顺序插入,但需要按索引顺序迭代。要遍历稀疏数组,我了解您需要使用for..in语句。 但是,根据这篇文章: 无法保证...将以任何特定顺序返回索引 但像这样的stackoverflow问题表明虽然不保证对象属性订单,但是数组订单是: 在JavaScript中不保证对象中的属性顺序,您需要使用数组。 I 在Chrome,Firefo ..
发布时间:2019-05-27 12:18:17 前端开发

null是否占用javascript中的内存?

我遇到以下情况: var large = [a,b,c,d,e,f ,G,H,I]; var small = [a2,b2,c2,null,null,null,null,null,null,i2]; 其中两个数组的每个元素都是一个对象。 小数组包含与较大数组相关的信息,但不是 large 的每个元素都需要中的关联元素所以我把它设置为 null 。但是,我仍然 ..
发布时间:2019-05-24 16:11:02 前端开发