确定增长函数

时间:2016-02-26 21:24:06

标签: java time-complexity

我的教授给了我们班级这个任务,几乎没有解释。给出一段代码来确定big-O表示法和增长函数。我理解大O部分,但在增长功能部分有点丢失。

    for (int count = 0; count < n; count ++) {
   for (int count2 = 0; count2 < n; count2 = count2 * 2) {
      System.out.println(count, count2);
   }
}

这就是我们所给予的。我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

虽然Maljam对于它是无限循环是正确的,但假设两者都从1开始并且是&lt; = n:

外部for循环将使内部for循环发生:

  

n-1次

内部for循环将使Sysout语句大致运行(通过对函数进行分层):

  

log_2(n)次

因此,大O的结果是这两者的结果:

  

O((n-1)(log_2(n)))

或更简单:

  

O(nlogn)