标签: sparse-array

Java中的稀疏矩阵/数组

我正在开发一个用Java编写的项目,它要求我构建一个非常大的2-D稀疏数组.非常稀疏,如果这有所不同.无论如何:这个应用程序最关键的方面是时间上的效率(假设内存负载,虽然不能无限制地允许我使用标准的2-D阵列 - 关键范围是两个维度的数十亿).

在阵列中的kajillion细胞中,将有数十万个细胞包含一个物体.我需要能够很快地修改单元格内容.

无论如何:有没有人为此目的知道一个特别好的图书馆?它必须是伯克利,LGPL或类似的许可证(没有GPL,因为该产品不能完全开源).或者,如果只有一种非常简单的方法来制作自制的稀疏数组对象,那也没关系.

我正在考虑MTJ,但没有听到任何关于其质量的意见.

java algorithm sparse-array sparse-matrix

63
推荐指数
2
解决办法
5万
查看次数

SparseArray,检查密钥是否存在

我使用a实现了一个Bitmap缓存,HashMap<Integer, Bitmap>并在Eclipse中收到以下警告:

使用新的SparseArray(...)代替更好的性能.

我之前从未听过那个类,但检查它似乎没有一个containsKey()方法,我正在调用从缓存中检索Bitmap来检查它是否存在于缓存中,如果不存在,然后添加它.

有关检查密钥是否已存在的最佳方法的任何想法?

我想我可以更改代码以使用此重载并检查null?

Bitmap bitmap = cache.get(key, null); 
Run Code Online (Sandbox Code Playgroud)

java android hashmap sparse-array

38
推荐指数
2
解决办法
2万
查看次数

javascript排序稀疏数组保持索引

排序稀疏数组并将元素保留在相同索引上的最佳方法是什么?例如:

a[0] = 3, 
a[1] = 2, 
a[2] = 6,
a[7] = 4,
a[8] = 5,
Run Code Online (Sandbox Code Playgroud)

我想在那之后才有

a[0] = 2, 
a[1] = 3, 
a[2] = 4, 
a[7] = 5, 
a[8] = 6.
Run Code Online (Sandbox Code Playgroud)

javascript sorting sparse-array

33
推荐指数
1
解决办法
5万
查看次数

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];
Run Code Online (Sandbox Code Playgroud)

其中两个数组的每个元素都是一个对象.

小数组包含与较大数组相关的信息,但不是每个元素都large需要相关元素small,因此我将其设置为null.但是,我仍然需要保持索引相同,所以我可以做类似的事情large[16].id + ': ' + small[16].description.事实上,我有一个大多数null值的数组会导致内存使用量增加吗?

我的问题是我是否会做更好的事情small = [a2,b2,c2,i2],并在属性等设置索引a2.index = 0; b2.index = 1.

我也遇到过使用undefined的建议,有人甚至提到实现链接列表.我不认为我需要实现链表,因为我不经常添加或删除元素.

javascript memory sparse-array

24
推荐指数
1
解决办法
3989
查看次数

将稀疏的json对象解码为php数组

我可以使用以下命令创建稀疏的php数组(或map):

$myarray = array(10=>'hi','test20'=>'howdy');
Run Code Online (Sandbox Code Playgroud)

我想将其序列化/反序列化为JSON.我可以使用以下命令序列化它:

$json = json_encode($myarray);
Run Code Online (Sandbox Code Playgroud)

这导致了字符串{"10":"hi","test20":"howdy"}.但是,当我反序列化它并使用以下命令将其强制转换为数组时:

$mynewarray = (array)json_decode($json);
Run Code Online (Sandbox Code Playgroud)

我似乎失去了任何与无效的php标识符密钥的映射.也就是说,mynewarray具有映射'test20'=>'howdy',但不能10=>'hi'也不'10'=>'hi'.

有没有办法在使用标准json_encode/ json_decode函数转换为json和从json返回时保留php地图中的数字键?

(我使用的是PHP版本5.2.10-2ubuntu6.4.)

php json map sparse-array

22
推荐指数
1
解决办法
4万
查看次数

Python/Cython中的快速n维稀疏数组

我有一个涉及非常稀疏的大型n维数组的应用程序.scipy.sparse有一个有用的'矢量化获取和设置'功能,因此可以使用Cython快速填充稀疏矩阵.

当然,scipy包不能处理n维.我发现有两个包在python sparray和.d中进行n维稀疏数组ndsparse.然而,它似乎既没有矢量化的获取和设置功能.

所以我需要:

  • 带有矢量化get和set或的n维数组的python包
  • 用于稀疏数组的ac库,我可以使用Cython或
  • 一些'滚动你自己'选项,我想这将需要交替相当于一个python dict

为了我的目的,我认为将n维坐标映射回1或2维可能有效.更好的是有一个dict等价物,我可以在Cython循环内快速访问.我认为这排除了python dict.

想知道是否有人可以给我一个如何在Cython中使用c ++地图对象的例子?

python sparse-array cython sparse-matrix

22
推荐指数
1
解决办法
1718
查看次数

HDF5中的稀疏阵列支持

我需要以某种方式在磁盘上存储512 ^ 3阵列,我目前正在使用HDF5.由于阵列稀疏,因此浪费了大量磁盘空间.

HDF5是否为稀疏阵列提供任何支持?

sparse-array hdf5 sparse-matrix

14
推荐指数
2
解决办法
5622
查看次数

在Bundle中存储SparseBooleanArray的最佳方法?

当配置更改发生时,我的ListView复选框状态会丢失,我理解为什么.我试着实施

public void onSaveInstanceState(final Bundle outState)
Run Code Online (Sandbox Code Playgroud)

在我的一个碎片中.所以我只是想知道在outState中存储SparseBooleanArray的最简单方法是什么.

另外,我有点困惑,因为ListView有方法:

getListView().getCheckedItemPositions();
Run Code Online (Sandbox Code Playgroud)

这有什么用?

methods android sparse-array onconfigurationchanged

14
推荐指数
2
解决办法
8847
查看次数

带有String键的Android SparseArray?

我需要使用hashmap来存储我的Android应用程序中的键/值(可能有数千个),但我知道我应该使用SparseArray来节省内存.但是,我的密钥需要是一个字符串.有没有办法创建SparseArray或其他替代方案的自定义实现?

string android memory-management key sparse-array

14
推荐指数
3
解决办法
1万
查看次数

java:稀疏位向量

Java中是否存在用于稀疏位向量的任何着名库?

(并且有没有指导稀疏对于使用它们与java.util.BitSet有什么用?)

java sparse-array bitvector data-structures

11
推荐指数
3
解决办法
5219
查看次数