Мы должны найти время выполнения этого кода в нотации Big0.
Для первого рекурсивного метода мы думаем, что это O (2 ^ n).Я думал, что это 3n, и поскольку константы не имеют значения, для нерекурсивного метода это будет O (n).
мы считаем рекурсивный метод O (2 ^ n), а нерекурсивный метод - O (n).).
public static int FibRec(int n)
{
if (n<=1)
{
return 1;
}
else
{
return (FibRec(n-2)+FibRec(n-1));
}
}
public static int FibNonRec (int n)
{
if(n<=1)
{
return 1;
}
int fib0=1;
int fib1=1;
for (int i=1; i<n; i++)
{
int temp=fib0;
fib0+=fib1;
fib1=temp;
return fib0;
}