Итак, у меня есть этот алгоритм (золотое сечение):Сложность формула этого алгоритма
public static float golden(int n){
float res;
if(n == 0){
res = 1;
} else {
res = (float) (1.0 + (1.0/golden(n-1)));
}
return res;
}
Я полагаю, что Т (п) формула Т (п-1). Таким образом, я могу получить сложность следуя этой формуле ...
Т (п) = аТ (п - Ь) + с^нп (п)
... и это одна:
Но, что такое p (n) и c?
Я надеюсь, что кто-то может мне помочь.
Заранее благодарен!
Вот подсказка: вы могли бы реализовать эту * без * рекурсии? Какая сейчас сложность? – Amit
Я только «изучал» рекурсивные формулы, поэтому понятия не имею ... И ответ должен быть как рекурсивная формула. Спасибо за ответ! – MakeItFun
Ваша функция 'golden' имеет сложность' O (n) ', так как каждый вызов принимает постоянное время + вызов' golden (n-1) '. – kajacx