【问题标题】:Which is the efficient way to caliculate nth fibonacci number ? sequential or using golden ratio ? and why?哪种是计算第 n 个斐波那契数的有效方法?顺序还是使用黄金比例?为什么?
【发布时间】:2019-04-07 05:42:32
【问题描述】:

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

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

【问题讨论】:

标签: algorithm fibonacci


【解决方案1】:

用递归解法计算第 n 个斐波那契数:

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

  return fibonacci(num - 1) + fibonacci(num - 2);
}

同时查看参考网站click here

希望你能得到答案

【讨论】:

  • 有趣的链接+1
  • 但是,这个程序需要指数级的时间。此外,我确信 OP 已经意识到了这一点。问题不是“如何计算斐波那契 (n)?”而是如何有效地计算它。
猜你喜欢
  • 2018-08-18
  • 1970-01-01
  • 2016-01-05
  • 2017-07-07
  • 2013-02-09
  • 1970-01-01
  • 2014-05-17
  • 1970-01-01
  • 2022-12-10
相关资源
最近更新 更多