gpt4 book ai didi

python - python 中标准随机数生成器的 Big-O 运行时是什么? (最坏的情况下)

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:23:30 25 4
gpt4 key购买 nike

示例 python2 代码:

for i in range(N):
print str(random.randint(0, N))

是否可以安全地假设随机数生成器在 O(1) 中运行,以便上面的循环(它简单地打印 0 - N 范围内的 N 个随机数)是 O(N)?

最佳答案

random.randint(0, N) 可能是 O(log N) 即,它与 N 中的位数成正比.

The implementation confirms it如果我们假设 .getrandbits(k)O(k)

It seems to be true for CPython如果 genrand_int32()O(1)The source (for Mersenne Twister PRNG implementation) suggests that it is .

关于python - python 中标准随机数生成器的 Big-O 运行时是什么? (最坏的情况下),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29461787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com