小编Vik*_*Vik的帖子

用递归计算大O表示法

我试着理解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是什么?

python big-o notation python-3.x

5
推荐指数
1
解决办法
968
查看次数

标签 统计

big-o ×1

notation ×1

python ×1

python-3.x ×1