我正在研究Python中的Big-O符号。
我不清楚以下代码的时间复杂度是什么:
for elem in list_1:
if elem in list_2 and elem in list_3:
print(elem)
您对此有何看法?
答案 0 :(得分:0)
如果list1
,list2
和list3
的大小分别由m
,n
和p
表示,则时间复杂度将为O(m * (n + p))
。因为外部循环运行m
次,并且在每次迭代中条件if
可以进行O(n + p)
比较以检查elem
是否包含在相应的列表中。