使用5100万个素数快速迭代数据结构

and*_*and 0 java primes data-structures

对于加载5100个素数然后迭代它们的任务,最好的数据结构(在java中)是什么?

例如,我需要知道在1000000000和相同数字减去100000之间的素数.

Nos*_*dna 6

二进制搜索对于这些数据来说并不是很好,因为素数的前半部分将比它们的后半部分更接近彼此.

您可以通过了解x下有多少素数来改进搜索.也许通过使用链接中提到的近似来扭曲切割.


我的第一次尝试就是这样.我有两个阵列.

  1. 所有素数的数组.
  2. 一个数组告诉我在第一个数组中1000*n以上的第一个素数在哪里.所以,如果我想找到值为5000或更高的第一个素数,我会看看secondArray [5000/1000-1].

在对阵列1做任何事情之前,我会得到阵列2的粗略位置.