如果我走功能:大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