时间复杂度,Java
time complexity, Java
请参阅我根据学校示例编写的代码。
public class Test {
public static void main(String [] args)
{
int number = 0;
int [] array = new int[number+1];
array[number] = 0;
methodName(number, array);
}
public static void methodName(int n, int[] b )
{
if (n == 0)
{
System.out.println(" b is : " + b);
return;
}
else
{
b[n-1] = 0;
methodName(n-1, b);
b[n-1] = 1;
methodName(n-1, b);
}
}
}
我正在尝试计算此代码的最佳和最差情况时间复杂度。
据我所知,最好的情况是 O(1)。
而且我很难确定最坏的情况。
else 循环中有四种基本操作。
我知道这是一个逐渐增长的函数,我感觉它接近于 O(!n)。
感谢您的宝贵时间。
IF methodName 没有从 main 以外的任何地方调用,
那么它总是 O(1)
请参阅我根据学校示例编写的代码。
public class Test {
public static void main(String [] args)
{
int number = 0;
int [] array = new int[number+1];
array[number] = 0;
methodName(number, array);
}
public static void methodName(int n, int[] b )
{
if (n == 0)
{
System.out.println(" b is : " + b);
return;
}
else
{
b[n-1] = 0;
methodName(n-1, b);
b[n-1] = 1;
methodName(n-1, b);
}
}
}
我正在尝试计算此代码的最佳和最差情况时间复杂度。 据我所知,最好的情况是 O(1)。 而且我很难确定最坏的情况。 else 循环中有四种基本操作。 我知道这是一个逐渐增长的函数,我感觉它接近于 O(!n)。
感谢您的宝贵时间。
IF methodName 没有从 main 以外的任何地方调用, 那么它总是 O(1)