📜  算法|算法分析|问题2

📅  最后修改于: 2021-06-29 02:53:25             🧑  作者: Mango

fun()的时间复杂度是多少?

int fun(int n)
{
  int count = 0;
  for (int i = 0; i < n; i++)
     for (int j = i; j > 0; j--)
        count = count + 1;
  return count;
} 

(A)西塔(n)
(B)塞塔(n ^ 2)
(C) Theta(n *登录)
(D) Theta(nLognLogn)答案: (B)
说明:时间复杂度可以通过计算表达式“ count = count + 1;”的次数来计算。被执行。表达式执行0 +1 +1 2 + 3 + 4 +…。 +(n-1)次。

时间复杂度= Theta(0 +1 + 2 + 3 + .. + n-1)= Theta(n *(n-1)/ 2)= Theta(n 2 )
这个问题的测验