以下函数的时间复杂度/增长顺序是多少?
def multiply(a, b):
'''Takes two integers and computes their product.'''
res = 0
for i in range(1, b+1):
res += a
return res
我知道b的大小使它线性,但是a的大小呢?
谢谢!
答案 0 :(得分:0)
'a'的大小不会影响算法的时间复杂度。由于您要执行b次加法,因此复杂度约为'b'。 O(b)是函数的数学性质,而不是函数的精确表征。确切的运行时间可能是2045 * b + 3542,其中常量2045和3542(此处仅作为示例说明)将取决于输入和输入的大小,在此引用变量'a'的大小。问题
因此,a的大小会影响代码的运行时间,而不影响代码的时间复杂度。