我的教授给了我们班级这个任务,几乎没有解释。给出一段代码来确定big-O表示法和增长函数。我理解大O部分,但在增长功能部分有点丢失。
for (int count = 0; count < n; count ++) {
for (int count2 = 0; count2 < n; count2 = count2 * 2) {
System.out.println(count, count2);
}
}
这就是我们所给予的。我们将不胜感激。
答案 0 :(得分:1)
虽然Maljam对于它是无限循环是正确的,但假设两者都从1开始并且是&lt; = n:
外部for循环将使内部for循环发生:
n-1次
内部for循环将使Sysout语句大致运行(通过对函数进行分层):
log_2(n)次
因此,大O的结果是这两者的结果:
O((n-1)(log_2(n)))
或更简单:
O(nlogn)