小编典典

Java的随机数生成器。生成数字的复杂性

algorithm

我知道Java使用线性同余生成器。我的问题是-生成随机数的复杂性是什么?您如何进行此类分析?


阅读 266

收藏
2020-07-28

共1个答案

小编典典

所述生成的复杂 一个 随机数为O(1)。您的意思是“在运行时和内存方面的成本是多少”?

您可以用一个微基准来测量它们,例如junit-benchmark或BrentBoyer的Benchmark(请参见什么是此类工具的大型清单,该清单是什么才能测量Java中的单线程复杂算法的最佳宏基准工具/框架?)。

此外,我认为Java的随机数生成器相当快,但是从统计上来说很糟糕。而是使用外部库,例如http://www.cs.gmu.edu/~sean/research/上的Mersenne
Twister ,或者,如果运行时对您而言如此重要,则使用Fast Mersenne Twister。

2020-07-28