【问题标题】:Alternatives for problems involving very large array indexing storing very large values涉及非常大的数组索引存储非常大的值的问题的替代方案
【发布时间】:2014-04-01 16:52:23
【问题描述】:

请提出一些替代方案来解决蛮力解决方案使用具有非常大索引的数组并存储非常大的值(非常大意味着超出 INT 的范围)的问题。我正在使用 Java 来解决这个问题。

示例问题: 将大量鹅卵石放入非常大的一组桶中,然后计算每个桶中的平均鹅卵石。

一种方法是声明一个大数组并根据用户指定的索引不断放置鹅卵石,然后计算平均值。但是这样我们会为这样的数组使用很大的空间。

【问题讨论】:

  • 您可以使用一些基于文件的 Collection 实现。

标签: java arrays data-structures bigdata


【解决方案1】:

如果数组是稀疏的,一个选项可以是 Map 的索引值

如果所有数据仍然可以放入内存,则索引刚好超出int 的范围,您可以考虑数组数组。主数组可以包含大小为 1000000000 的数组。此数组中的第 0 个索引将包含值 0-999999999,第一个索引,1000000000-1999999999 等。

另一种选择是使用文件RandomAccessFile 可能有助于手动执行此操作,或者可能有一些库为您提供数组接口并在后台处理文件 I/O。

【讨论】:

    猜你喜欢
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多