Пожалуйста, посмотрите код, который я написал на основе школьного примера.
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).
Спасибо за потраченное время.