Algorithm 哪种方法是计算第n个斐波那契数的有效方法?连续还是使用黄金比例?为什么?

Algorithm 哪种方法是计算第n个斐波那契数的有效方法?连续还是使用黄金比例?为什么?,algorithm,fibonacci,Algorithm,Fibonacci,我在考虑寻找第n个斐波那契数的问题,我看到了各种各样的解决方案,比如递归、动态规划、黄金分割率等等。我想知道,按顺序计算n个斐波那契数不是比这些更好的解决方案吗?我错过什么了吗 无论是递归规划还是动态规划,我们都必须遍历从斐波那契级数的第一个元素到第n个元素的路径。如果我们使用黄金比率,它的时间复杂度会呈指数增长。相反,如果我们迭代计算第n个Fibonacci数,我们可以在似乎比其他方法更好的操作中实现这一点。使用递归解决方案计算第n个Fibonacci数: function fibonacci

我在考虑寻找第n个斐波那契数的问题,我看到了各种各样的解决方案,比如递归、动态规划、黄金分割率等等。我想知道,按顺序计算n个斐波那契数不是比这些更好的解决方案吗?我错过什么了吗


无论是递归规划还是动态规划,我们都必须遍历从斐波那契级数的第一个元素到第n个元素的路径。如果我们使用黄金比率,它的时间复杂度会呈指数增长。相反,如果我们迭代计算第n个Fibonacci数,我们可以在似乎比其他方法更好的操作中实现这一点。

使用递归解决方案计算第n个Fibonacci数:

function fibonacci(num) {
  if (num <= 1) return 1;

  return fibonacci(num - 1) + fibonacci(num - 2);
}
还可以查看参考网站


我希望你能得到你的答案

我想下面@Muhammad Orvais答案中的链接能告诉你你在寻找什么。有趣的链接+1可能会重复。但是,这个程序需要指数级的时间。此外,我相信OP已经意识到了这一点。问题不是,如何计算斐波那契n?而是如何有效地计算它。