我正在学习Python中的Big-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
是否包含在相应的列表中。