在Python中oprator的大O运行时间

时间:2017-11-06 00:56:12

标签: python python-3.x time-complexity

我想知道以下简单程序的Big O运行时间是什么:

dates = [0,2,3,4]
sample_list = [1,2,3,4]
for i in range(0, 4):
    sub_list = sample_list[i+1:]
    if dates[i] in sub_list:
        count += 1

运行时间是O(n)还是O(n**2)?我知道运行时间是O(n),因为我有一个for循环,但是if dates[i] in sub_list语句怎么样?这是什么时间?

1 个答案:

答案 0 :(得分:3)

你的循环似乎并不依赖于你的列表的长度,即使它可能应该。但是,对sample_list[i+1:]的调用将取决于sample_list以及dates[i] in sub_list的大小。

因此,您的代码为O(n),其中n的长度为sample_list