Big O Notation查询

时间:2015-07-07 15:28:35

标签: algorithm big-o

int k = n;
while (k > 0)
{
for (int j = 0; j < n; j++)
{
 System.out.println(“Inside the inner loop”);
 }
k = k / 2;
 } 

嗨,对于这个问题,我提出了两个答案,即

O(N ^ 2 Log N)OR O(n * N / 2)= O(N 2/2)。我不确定是否有相同或不同?我的讲师也提到选择大写。因此,对于这个问题,有一个O(N ^ 2)和一个O(Log N)。所以根据我的讲师,答案应该是O(N ^ 2)?请帮忙。感谢。

1 个答案:

答案 0 :(得分:2)

答案是O(N * log N)

由于您将半身K除以外部循环得到O(log N)。因为在每次迭代中,您迭代N次,然后它将是O(N * log N)