时间复杂度迭代空列表

时间:2018-10-31 19:03:20

标签: python time time-complexity complexity-theory

在以下代码中,最佳的情况是什么? 最好的情况是输入一个空列表,这意味着循环不会迭代,因此为O(1)? 还是应该将其视为始终迭代n次并因此始终迭代O(n)的循环,而不管输入如何?

def f(L, x): 
    n = len(L) 
    c = 0 
    for i in range(n): 
        if L[i] == x: 
            c = c + 1 
    return c 

1 个答案:

答案 0 :(得分:1)

它将始终为O(n),因为无论输入如何,循环都将迭代n次。 N等于1不会使复杂度等于O(1),O(1)仅保留给原子操作,无论O(1)是什么。

基本上O(N)表示此代码段的时间以线性方式取决于N。