我试着理解Big O Notation最坏情况运行时.但我还是不太明白.
这是我最近写的一些代码:
def g(n):
if n==0:
return 1
elif n==1:
return 2
else:
n_div=n//2
n_mod=n%2
return g(n_div)*g(n_mod)
Run Code Online (Sandbox Code Playgroud)
所以我希望我至少是对的:
def g(n):
if n==0:
return 1
Run Code Online (Sandbox Code Playgroud)
和:
elif n==1:
return 2
Run Code Online (Sandbox Code Playgroud)
是O(1),所以不变.
但那个else部分呢.
是O(n)因为它取决于n我选择的吗?
任何人都可以解释该部件的Big O复杂性else是什么?