程序代码的运行时间

时间:2018-10-21 15:08:01

标签: java python algorithm parallel-processing sum

我需要你的帮助。请问你能帮帮我吗。

输入:具有n个自然数的数组A。

count = 0
for each subset S of 4 elements of A do:
  sum = "sumFormula" from i = 0 to 3  S[i]
  for i from 0 to n-1 do:
        if sum == A[i]:
            count = count+1
return count.

我不明白。什么时间?

我的想法:我认为它具有指数运行时间,因为当我将输入大小加倍时,它会平方。但是我不确定。

1 个答案:

答案 0 :(得分:0)

该算法的许多复杂性被隐藏了。

尤其是:

  

对于A中4个元素的每个子集S

如何确定这些子集?
具有n个元素的集合中有2 ^ n个可能的子集。 简单地说,第一步可能是指数运行时间的原因。

该算法的其余部分实质上是计算出每个子集的总和。那不会对运行时间造成太大影响。