问题标签 [sparse-array]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
54763 浏览

java - Java中的稀疏矩阵/数组

我正在开发一个用 Java 编写的项目,这需要我构建一个非常大的二维稀疏数组。非常稀疏,如果这有所作为。无论如何:这个应用程序最关键的方面是时间方面的效率(假设内存负载,虽然几乎没有无限到允许我使用标准二维数组 - 关键范围在两个维度上都是数十亿)。

在阵列中的千千万万个单元中,将有数十万个单元包含一个对象。我需要能够非常快速地修改单元格内容。

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

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

0 投票
2 回答
1564 浏览

c# - 推荐在 JavaScript 稀疏数组和 C#(稀疏)数组之间映射的方法?

我正在尝试将 JavaScript 稀疏数组映射到 C# 表示。

推荐的方法是什么?

它正在考虑使用包含原始数组中包含值的原始列表的字典。

还有其他想法吗?

谢谢!

0 投票
2 回答
4535 浏览

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

我有一个稀疏数组,我想用 JSON 表示。例如:

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

0 投票
4 回答
2855 浏览

java - Java 省时的稀疏一维数组(双精度)

我需要一个高效的 Java 结构来操作非常稀疏的双精度向量:基本的读/写操作。我在 HashMap 中实现了它,但是访问速度太慢了。我应该使用其他数据结构吗?你推荐任何免费的图书馆吗?

寻找一些和平的建议:)

非常感谢,

玛丽

0 投票
3 回答
3771 浏览

java - 在 Java 中实现稀疏向量的最佳方法是什么?

在 Java 中实现稀疏向量的最佳方法是什么?

当然,好的东西是可以很容易地操作的东西(标准化、标量积等)

提前致谢

0 投票
3 回答
40447 浏览

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

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

我想将其序列化/反序列化为 JSON。我可以使用以下命令对其进行序列化:

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

我似乎丢失了任何带有无效 php 标识符的键的映射。也就是说,mynewarray有 mapping 'test20'=>'howdy',但没有10=>'hi'nor '10'=>'hi'

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

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

0 投票
2 回答
2157 浏览

javascript - 处理稀疏数组的 JSON 实现

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

我的最低要求是实现用“未定义”填补任何空白。否则,我会在 JSON 编码之前编写自己的防御性代码来填补空白。

0 投票
2 回答
925 浏览

c++ - 如何实现 sparse_vector 类

我正在实现一个模板化的 sparse_vector 类。它就像一个向量,但它只存储与其默认构造值不同的元素。

因此,sparse_vector 将为值不是 T() 的所有索引存储延迟排序的索引值对。

我的实现基于数字库中现有的稀疏向量——尽管我的也将处理非数字类型 T。我看着boost::numeric::ublas::coordinate_vectoreigen::SparseVector

两家店:

他们为什么不简单地使用

我的主要问题是这两个系统的优缺点是什么,最终哪个更好?

对的向量为您管理 size_ 和 capacity_,并简化了随附的迭代器类;它也有一个内存块而不是两个,因此它会导致一半的重新分配,并且可能具有更好的引用局部性。

另一种解决方案可能会更快地搜索,因为在搜索期间缓存行仅填充索引数据。如果 T 是 8 字节类型,也可能有一些对齐优势?

在我看来,对向量是更好的解决方案,但两个容器都选择了另一个解决方案。为什么?

0 投票
5 回答
2264 浏览

python - 有人知道 Python 中有一个很棒的稀疏一维数组库吗?

我正在研究一种大量使用 int64s 数组的 Python 算法。数组通常是稀疏的,并且不断地被读取和写入。我目前使用的是相对较大的本机数组,性能很好,但内存使用率很高(正如预期的那样)。

我希望能够让数组实现不会为未使用的值浪费空间,并允许索引偏移量不是零。例如,如果我的数字从 1,000,000 开始,我希望能够从 1,000,000 开始索引我的数组,并且不需要用一百万个未使用的值来浪费内存。

数组读取和写入需要快速。扩展到新领域可能会有一点延迟,但如果可能的话,读写应该是 O(1)。

有人知道可以做到这一点的图书馆吗?

谢谢!

更新以提及 int64 作为数据类型。

0 投票
7 回答
5760 浏览

java - java:稀疏位向量

Java中是否有任何用于稀疏位向量的知名库?

(是否有关于稀疏使用它们与java.util.BitSet的有用性的指南?)