为什么这段Python代码要花费异常长的时间来计算总和?
我喜欢用渐近符号来探讨这个问题:大(O),ω和θ 下面是一小段Python代码。并尝试通过每次提供更大的值来运行它。如果您查看第三个场景(图),代码通常需要更长的时间来计算总和为什么这段Python代码要花费异常长的时间来计算总和?,python,algorithm,code-analysis,Python,Algorithm,Code Analysis,我喜欢用渐近符号来探讨这个问题:大(O),ω和θ 下面是一小段Python代码。并尝试通过每次提供更大的值来运行它。如果您查看第三个场景(图),代码通常需要更长的时间来计算总和 我想知道我是否可以按顺序重写,会有什么不同吗?如何优化此代码以获取更大的值?谢谢使用numba可以使相同的算法更快: from numba import jit @jit def compute(n): x = 0 for i in range(1, n+1): x += 1/i
我想知道我是否可以按顺序重写,会有什么不同吗?如何优化此代码以获取更大的值?谢谢使用numba可以使相同的算法更快:
from numba import jit
@jit
def compute(n):
x = 0
for i in range(1, n+1):
x += 1/i
return x
print(compute(1000000000))
嗯,1e13是一个很大的数字,这是正常的计算需要很长时间。你可以看看这个。您可以返回
0.5772156649+math.log(n)
作为近似值。同意!如何优化代码并使其更好地用更少的时间处理更大的值。可能的重复: