如果我走功能:大O 2变量,乘在一起
def nested_multiplier(a, b):
"""
returns a*b
"""
count = 0
for i in range(a):
for j in range(b):
count += 1
return count
这是相当清楚这里说的在asignments数量方面的复杂性将是A * B。
到目前为止很好。
所以,如果我想要解决大O的话,我想我必须考虑函数具有O(n),因为在这种情况下我必须考虑b作为常量值吗?
同样,如果我想要b的大O,它会是O(n)出于同样的原因。
这似乎是有道理的,但直观地使用像这样的嵌套迭代块,我期望O(n^2)或某种其他指数类型的值。当你考虑a和b具有相同的值(即让a = 5,让b = 5将有25个赋值)时,这是非常有意义的。
那么在大O表示法中表达这个函数复杂性的正确方法是什么?
这个问题更适合计算机科学堆栈交换,但我也回答了。 – atayenel