【问题标题】:Suitable data structure for Java 1000*1000 matrix.适用于 Java 1000*1000 矩阵的数据结构。
【发布时间】:2018-04-07 10:29:07
【问题描述】:

我正在练习 Java 编程。我遇到了一个问题,需要 1000 x 1000 矩阵来存储小于 1500 的整数值

我想浏览所有元素 我可能需要获取最大元素及其 4 个相邻元素。

不影响性能的最佳数据结构是什么?

1  2  3  4
5  6  7  8
9  10 11 12
12 14 15 16

对于元素11 --> 7, 10, 12, 15是相邻元素。

【问题讨论】:

    标签: java matrix data-structures sparse-matrix


    【解决方案1】:

    二维数组数据结构有什么问题?

    要在 i,j 处得到一个数的邻接,返回 [i-1][j],[i+1][j],[i][j+1],i[j-1](你将不得不处理 i 为零等情况)...

    随着性能的发展,它的 O(1) 不会比这更好......

    如果您正在谈论查找元素的位置。如果矩阵已排序,您可以简单地进行二进制搜索。

    【讨论】:

      【解决方案2】:

      2dim 短裤数组:

      -> short [][] matrix = new short[1000][1000];
      |  Added variable matrix of type short[][] with initial value [[S@1794d431
      

      一秒钟内生成,大小为几 MB。还有什么比那个更好呢?

      【讨论】:

        猜你喜欢
        • 2012-03-13
        • 1970-01-01
        • 1970-01-01
        • 2011-07-21
        • 2010-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多