与复杂性混淆

问题描述 投票:0回答:1
    for key in string_list:
       if key in new:
          same.append(key)

我对复杂性真的很不好,我正在努力最好地学习。该代码的复杂度是否为O(n ^ 2)?因为它正在比较2个列表,或者它是O(n),因为我刚刚使用了一个for循环。 string_list和new只是两个列表

for-loop if-statement complexity-theory
1个回答
0
投票

时间复杂度为O(n ^ 2),因为“ in”运算符的平均情况下的时间复杂度为O(n),并且您已经在其上面有一个for循环,因此它变为O(n ^ 2)

您可以参考此:

https://wiki.python.org/moin/TimeComplexity

© www.soinside.com 2019 - 2024. All rights reserved.