Python 3.x 大O表示法|时间复杂度-带'的嵌套循环;和';关键词

Python 3.x 大O表示法|时间复杂度-带'的嵌套循环;和';关键词,python-3.x,algorithm,performance,time-complexity,Python 3.x,Algorithm,Performance,Time Complexity,我正在学习Python中的大O表示法 我不清楚以下代码的时间复杂度: for elem in list_1: if elem in list_2 and elem in list_3: print(elem) 你的看法是什么?如果list1、list2和list3的大小分别用m、n和p表示,那么时间复杂度将是O(m*(n+p))。因为外循环运行m次,并且在每次迭代中,条件if可以进行O(n+p)比较,以检查elem是否包含在相应的列表中。如果list_3较长,并且第一个

我正在学习Python中的大O表示法

我不清楚以下代码的时间复杂度:

for elem in list_1:
    if elem in list_2 and elem in list_3:
        print(elem)

你的看法是什么?

如果
list1
list2
list3
的大小分别用
m
n
p
表示,那么时间复杂度将是
O(m*(n+p))
。因为外循环运行
m次
,并且在每次迭代中,条件
if
可以进行
O(n+p)
比较,以检查
elem
是否包含在相应的列表中。

如果
list_3
较长,并且第一个条件是
True
,那么您至少要添加
O(list_3_len*m)
这将比
n
更具影响力,谢谢你,天哪。我只是想澄清一下,用下面的表示:list_1是z list_2是n list_3是m时间复杂度是O(z*(n+m)),这对吗?@DeepSpace是对的。我不好。我以为内部循环是
list1
list2