Java 回路的大O分析

Java 回路的大O分析,java,algorithm,big-o,Java,Algorithm,Big O,有人能提供多项式O(n^2)、指数O(2^n)和阶乘O(n1)循环的例子吗。我似乎不能把我的头围绕着它 我理解(inti=0;IO(n^2)的O(logn)的概念: 对于该方法的每次迭代,将创建另外两个“分支”(直到nO(n^2): 对于该方法的每次迭代,将创建另外两个“分支”(直到n一个更明显的O(2^n)示例为: public int count2PowerN(int n) { if (n <= 1) { return n; } else { return

有人能提供多项式O(n^2)、指数O(2^n)和阶乘O(n1)循环的例子吗。我似乎不能把我的头围绕着它

我理解(inti=0;IO(n^2)的
O(logn)
的概念:

对于该方法的每次迭代,将创建另外两个“分支”(直到nO(n^2):

对于该方法的每次迭代,将创建另外两个“分支”(直到n一个更明显的
O(2^n)
示例为:

public int count2PowerN(int n) {
  if (n <= 1) {
     return n;
  } else {
     return count2PowerN(n - 1) +  count2PowerN(n - 1);
  }
}
public int count2PowerN(int n){
如果(nA更明显的
O(2^n)
示例为:

public int count2PowerN(int n) {
  if (n <= 1) {
     return n;
  } else {
     return count2PowerN(n - 1) +  count2PowerN(n - 1);
  }
}
public int count2PowerN(int n){

如果(n)你可能是指
i=i*2
而不是
i*2
(这会产生一个无休止的循环…)至于
i/2
我不知道你打算在那里做什么。此外,你的问题不清楚,因为你在示例中提供的循环中没有
n
。你可能是指
i=i*2
而不是
i*2
(这会创建一个无止境的循环…)至于
i/2
,我不知道您打算在那里做什么。此外,您的问题不清楚,因为您在示例中提供的循环中没有
n
public int factorialRuntime(int n) {
  int count = 0;
  for(int i=0; i<n; i++) {
    count += factorialRuntime(n-1);
  }
  return count;
}
public int count2PowerN(int n) {
  if (n <= 1) {
     return n;
  } else {
     return count2PowerN(n - 1) +  count2PowerN(n - 1);
  }
}