以下功能的时间复杂度

时间:2017-09-11 19:19:06

标签: performance time-complexity asymptotic-complexity

请通过对以下功能进行时间​​复杂度分析来帮助我。

function (n)
{
    for( i = 1 ; i <= n ; i + + )
       {
            for( j = 1 ; j <= n ; j+ = i )
                {
                   print( “*” ) ;
                }
       }
}

1 个答案:

答案 0 :(得分:1)

我觉得它应该是n + n * log(n)。

  1. 一个周期是O(n);
  2. 在循环内循环它是O(n ^ 2);
  3. 这种情况应该是:n * log(n) - as(n / 1 + n / 2 + n / 3 + ... + n / n)每个迭代次数减少(n除以n),加上n,因为这也是第一次迭代循环;
  4. 所以,最终答案是:n + n * log(n)。

    通过简单的测试和一些数字检查我的假设,看起来不错。

相关问题