时间复杂度迭代空列表

Time complexity iterating empty list

在下面的代码中,什么是最好的情况复杂度? 最好的情况是输入一个空列表,这意味着循环不会迭代,因此 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 

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

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