我正在尝试了解此代码的增长功能。
for (int count=0; count < n; count++) {
for (int count2=1; count2 < n; count2=count2*2) {
System.out.println(count + ", " + count2);
}
}
外部循环是线性的,因为您每次都递增一。内部循环是log(n),因为您的上限必须按指数增加以跟上count2变量的增长,因此整个嵌套迭代都是nlog(n)。
当您刚刚开始了解增长和秩序时,解决这些问题的一种好方法就是通过直观地思考。请参考下面的图表和说明: