我只是想知道什么时候理解如下算法的时间复杂度。
对于python列表,如果我们有一个for循环对其进行迭代,然后进行遏制检查,则其时间复杂度为O(n ^ 2)。
我知道两者都是O(n)(或者我认为),所以让它们彼此嵌套会使其变为O(n ^ 2)吗?
我认为,如果此“列表”实际上是一个列表,则下面代码的时间复杂度为O(n ^ 2)。但是如果它是字典,则它将是O(n),因为查找是O(1)。正确吗?
感谢您的任何帮助!
for element in list:
if x in list:
答案 0 :(得分:3)
您的分析是正确的。