此代码中的增长函数和阶是什么?

问题描述 投票:0回答:2

我正在尝试了解此代码的增长功能。

 for (int count=0; count < n; count++) {
   for (int count2=1; count2 < n; count2=count2*2) {
     System.out.println(count + ", " + count2);
   }
 }
java big-o analysis
2个回答
1
投票

外部循环是线性的,因为您每次都递增一。内部循环是log(n),因为您的上限必须按指数增加以跟上count2变量的增长,因此整个嵌套迭代都是nlog(n)。


0
投票

当您刚刚开始了解增长和秩序时,解决这些问题的一种好方法就是通过直观地思考。请参考下面的图表和说明:

© www.soinside.com 2019 - 2024. All rights reserved.