【发布时间】:2023-03-07 11:09:01
【问题描述】:
所以,我在 Java 中有一个递归方法来获取第 n 个斐波那契数 - 我唯一的问题是:时间复杂度是多少?我认为它是 O(2^n),但我可能弄错了? (我知道迭代要好得多,但这是一种练习)
public int fibonacciRecursive(int n)
{
if(n == 1 || n == 2) return 1;
else return fibonacciRecursive(n-2) + fibonacciRecursive(n-1);
}
【问题讨论】:
-
“迭代更好”通常是错误的。确实,它击败了您幼稚的递归实现,但可以改进该实现,使其基本上与使用动态编程的迭代实现相提并论。
标签: java recursion methods time-complexity fibonacci