这些代码的运行时间是多少?使用大O

时间:2019-07-17 03:45:31

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

我有两个似乎无法理解大符号的功能。

我在每一行的侧面都写了注释,表明我认为运行时间是什么。

#Question 1
def fn_c(L):
    def helper_c(elem):
        a = [] #O(1)
        for k in range(len(L)): #O(n)
            a.append(elem) #O(1)
        return a #0(1)
    return list(map(helper_c, L)) #O(n)

#Question 2
def fn_d(n):
    ans = 1 #O(1)
    collection = list(range(2*n)) #O(2n)
    #Looping is O(2n)
    for x in collection: #0(n)
        if x%10==1: #O(1)
            ans = ans + 1 #O(1)
        else:
            ans = ans + 2 #O(1)
    return ans

我认为第一个问题是O(n ^ 2),第二个问题是O(2 ^ n)。不过我不太确定。

0 个答案:

没有答案