私はアルゴリズムを持っています
def alg(a):
if a == 0:
return 1
elif a % 2 == 1:
return alg(a - 1)
else:
return alg(a / 2)
その複雑さが何であるかは定かではありません。1 つのブランチは O(N) の複雑さを持ち、もう 1 つのブランチは O(log(N)) の複雑さを持ちます。
この場合、アルゴリズムは O(N) の複雑さを持っていると言いますか、それは最悪の場合ですか、それともこの場合の複雑さはまったく異なるものですか?