Python中此问题的时间复杂度是多少?

时间:2019-10-13 17:39:30

标签: python algorithm loops time-complexity

我有以下代码检查整数数组v中三个位置的和是否等于给定的数字x

def triplet(array, sum):

    array_size = len(array) # 1

    for i in range( 0, array_size-2): 

        for j in range(i + 1, array_size-1):  

            for k in range(j + 1, array_size): 
                if array[i] + array[j] + array[k] == sum: 
                    return True # 1

    return False # 1

代码内的嵌套循环的时间复杂度以及最坏情况下的复杂度是多少?据我了解,整个函数的最坏情况复杂度为O(n ^ 3),因为该函数需要对输入数据中的每个值执行线性时间运算。那是对的吗?

我已将具有恒定复杂性的行注释为# 1。其他单个for循环以及最后一个if循环中的for条件的时间复杂度是多少?

0 个答案:

没有答案