Java рекурсивная последовательность Фибоначчи



Пожалуйста, объясните этот простой код:



public int fibonacci(int n)  {
if(n == 0)
return 0;
else if(n == 1)
return 1;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}


я путаю с последней строкой, особенно потому, что если n = 5, например, то Фибоначчи(4) + Фибоначчи(3) будет вызван и так далее, но я не понимаю, как этот алгоритм вычисляет значение индекса 5 этим методом. Пожалуйста объясните очень подробно!

677   0  

Comments

    Ничего не найдено.