algorithm - 随机数应该有多宽,这样你几乎不可能重复其中的两个?

标签 algorithm random language-agnostic

某些系统应该生成具有唯一 ID 的对象。该系统将在不同的计算机上运行,​​它们之间没有连接;但不会发生 ID 冲突。实现这一点的唯一方法是生成随机数。这些应该有多宽,这样你就可以认为碰撞几乎不可能发生?

最佳答案

这基本上是 birthday problem 的概括.

This probability table可以帮助您计算出您需要多少位才能达到您想要的概率 - 基于 p - 所需的概率,以及正在发生的 #elements被“散列”(生成)。

关于algorithm - 随机数应该有多宽,这样你几乎不可能重复其中的两个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20573555/

相关文章:

algorithm - 大数的模幂

language-agnostic - 为什么使用前导零来表示八进制数?

c++ - C++ 中的图形表示

algorithm - 任何人都知道我是否可以找到一个算法或有一个他们可以共享的算法来将球体(网格)分成随机部分?

c++ - 如何使用 ostream_iterator 打印到文件?

r - 使用sample()创建一个新的data.frame变量,最大sample()值因行而异

algorithm - 函数的平均情况复杂度

java - 基本压缩算法中计算的一个额外字符

javascript - 如何在不使用 Math.random 函数的情况下在 JavaScript 中创建随机函数?

compiler-construction - 学习编写编译器