标签: sparse-array

处理稀疏数组的JSON实现

我需要知道是否有任何JSON实现可以处理稀疏数组,令我满意.我已经看到了这样一个问题:如何在JSON中表示稀疏数组?但是使用对象而不是数组对我来说不是一个选择; 我需要一个数组.

我的最低要求是实施填补"未定义"的任何空白.否则,我正在编写防御性代码,在JSON编码之前填补空白.

javascript arrays json sparse-array

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

Node.js中的JavaScript/ECMAScript数组是否"稀疏"?

我的问题与Javascript数组稀疏相同吗?有一点不同......

JavaScript节点是否稀疏,如Node.js(和/或V8)中实现的那样?我假设了那些,但后来我做了以下测试:

var testArray = [];
testArray[10000] = 'test';
console.log(testArray);
Run Code Online (Sandbox Code Playgroud)

返回的是10,000个空白元素,最后是"test".这是因为调试输出的工作方式,还是Node.js在添加新元素时实际为未定义的数组元素分配内存?

javascript arrays sparse-array node.js

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

在Javascript中压缩稀疏数组?

我有一个元素数组,其中条目是稀疏的.如何轻松地将稀疏数组压缩成密集数组,以便每次循环数据时都不必一直检查空值和未定义值?

以下是一些示例数据:

var sparse = [];
sparse[1] = undefined;
sparse[5] = 3;
sparse[10] = null;

var dense = sparseToDenseArray(sparse);
// dense should be [3]
Run Code Online (Sandbox Code Playgroud)

javascript arrays sparse-array

4
推荐指数
3
解决办法
3250
查看次数

稀疏数组与java中的hashmap有何不同

在我的Android应用程序中,我在很多情况下使用了哈希映射.我被要求通过关于应用程序的性能来使用稀疏数组.那么,如何稀疏阵列从一个不同的HashMap的Java有什么优势稀疏阵列上的HashMap.谢谢.

java android hashmap sparse-array

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

如何用JSON表示稀疏数组?

我有一个我希望用JSON表示的稀疏数组.例如:

  -10 => 100
   -1 => 102
    3 => 44
   12 => -87
12345 => 0
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我可以这样做吗?

json sparse-array

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

将SparseBooleanArray保存到SharedPreferences

对于我的应用程序,我需要将一个简单的SparseBooleanArray保存到内存中,然后再读取。有什么方法可以使用SharedPreferences保存它吗?

我考虑过使用SQLite数据库,但是对于像这样简单的事情来说似乎过于矫kill过正。我在StackOverflow上发现的其他一些答案建议使用GSON将其另存为字符串,但我需要使该应用程序保持非常轻便且文件大小快速。有什么方法可以在不依赖第三方库的情况下保持良好性能的同时实现这一目标?

performance android sparse-array sharedpreferences android-sqlite

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

在一行中创建稀疏数组

Bash可以在一行中创建一个稀疏数组

names=([0]="Bob" [1]="Peter" [20]="$USER" [21]="Big Bad John")
Run Code Online (Sandbox Code Playgroud)

§创建数组

JavaScript可以创建像这样的稀疏数组吗?

javascript arrays sparse-array

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

在matlab中设置稀疏矩阵的最快方法

我正在使用迭代方法,因此使用大型稀疏矩阵.例如,我想设置一个这样的矩阵:

1   1   0   0   1   0   0   0   0   0
1   1   1   0   0   1   0   0   0   0
0   1   1   1   0   0   1   0   0   0
0   0   1   1   1   0   0   1   0   0
1   0   0   1   1   1   0   0   1   0
0   1   0   0   1   1   1   0   0   1
Run Code Online (Sandbox Code Playgroud)

因此,只有某些对角线不为零.在我的编程中,我将使用更大的矩阵大小,但是Idea是相同的:只有少数对角线非零,所有其他条目都是零.

我知道,如何在for循环中做到这一点,但如果矩阵大小很大,它似乎没有效果.我也使用对称矩阵.如果您为我的样本矩阵和描述提供代码,我将不胜感激.

arrays matlab matrix sparse-array sparse-matrix

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

稀疏的O(1)数组,索引是连续的产品

我想预先计算一些一元函数的值数组f.

我知道,我只需要值f(x),其中x是的形式a*b,其中两个ab在范围内的整数0..N.

明显的时间优化选择只是制作一个大小的数组,N*N只是预先计算我稍后要阅读的元素.因为f(a*b),我只是检查和设置tab[a*b].这是最快的方法 - 但是,这将占用大量空间,因为此数组中有许多索引(从开头N+1),永远不会触及.

另一种解决方案是制作一个简单的树形图......但是这会通过引入大量分支来大大减慢查找本身的速度.没有.

我想知道 - 是否有任何解决方案可以使这样的数组更少稀疏和更小,但仍然可以在查找中快速无分支O(1)?

编辑

我可以听到很多关于哈希映射的评论......我将继续对一个人的行为进行基准测试(我预计由于分支而导致正常查找的性能显着下降;比在树中更少,但仍然......让我看看我是否"M吧!) .

我想强调一点:我主要赞赏一种分析解决方案,它可以使用一些聪明的方法(?)来利用只有"类似产品"指数的事实.我觉得这个事实可能会被利用来获得更好的结果,即平均通用哈希映射函数,但我自己也没有想法.

编辑

按照你的建议,我试过std::unordered_mapgcc 4.5.这比简单的数组查找慢一点,但确实比基于树的更快std::map- 最终我对这个解决方案很满意.我现在明白为什么不可能做我原本打算做的事情; 谢谢你的解释!

我只是不确定哈希映射是否实际上节省了任何内存!:)正如@Keith Randall所描述的那样,我无法将内存占用率降低N*N/4,并且@Sjoerd描述的三角矩阵方法给了我N*N/2.我认为N*N/2如果元素大小很小(取决于容器开销),哈希映射完全有可能使用空间以上- 这将使最快的方法也是最有效的内存!我会试着检查一下.

我希望我能接受2个答案......

c++ algorithm sparse-array

2
推荐指数
1
解决办法
397
查看次数

点云中的局部最大值

我有一个点云 C,其中每个点都有一个关联的值。假设这些点在二维空间中,所以每个点都可以用三元组 (x, y, v) 表示。

我想找到局部最大值点的子集。也就是说,对于某个半径 R,我想找到 C 中点 S 的子集,使得对于 S 中的任何点 Pi(具有值 vi),在距离 Pi 的 R 距离内,C 中没有点 Pj 的值 vj 为大于 vi。

我知道如何在 O(N^2) 时间内做到这一点,但这似乎很浪费。有没有一种有效的方法来做到这一点?


旁注:

  • 这个问题的根源是我试图在一个稀疏矩阵中找到局部最大值,所以在我的例子中 x, y 是有序整数 indeces - 如果这简化了问题,请告诉我!
  • 如果解决方案仅适用于曼哈顿距离或其他任何问题,我非常高兴。
  • 我在 python 中,所以如果有某种很好的矢量化 numpy 方法来做到这一点,那就太好了。

numpy sparse-array kdtree sparse-matrix computational-geometry

2
推荐指数
1
解决办法
2030
查看次数

Cocoa的NSMutableArray稀疏吗?

如果我创建一个最多可能有2 ^ 16个元素的NSMutableArray,但是大部分都是空的,我会浪费空间还是将NSMutableArray实现为稀疏数组?

cocoa sparse-array nsmutablearray

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