【问题标题】:Java data structure for matrix?矩阵的Java数据结构?
【发布时间】:2011-07-21 21:21:55
【问题描述】:

我可以为包含短变量但大多数元素为空的矩阵使用的最佳数据结构是什么..

我可以简单地使用 n by b 数组作为矩阵,但问题是我不想浪费内存,因为矩阵中只有几个元素..

我打算使用链表或哈希表,但不确定哪一个是最好的数据结构以及如何实现它..

【问题讨论】:

标签: java data-structures matrix


【解决方案1】:

我会实现一个Sparse Matrix。使用HashMap 将行索引作为键,然后将HashMapTreeMap 用于实际元素(以列索引作为键)。如果您要存储原始类型,我建议您查看Trove Java Collections Framework。它针对原始类型进行了优化。我还是建议使用它,因为键可能都是原始的。

【讨论】:

    【解决方案2】:

    还有来自 Google Guava 库的多个 Table 实现

    【讨论】:

      【解决方案3】:

      当矩阵稀疏时,最好使用LinkedList。 LinkedList 在空间方面会比其他选项更好(假设矩阵是稀疏的)。

      但请注意,LinkedList 的访问时间为 O(n)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-20
        • 1970-01-01
        • 2011-06-11
        • 2010-11-02
        相关资源
        最近更新 更多