【发布时间】:2020-08-11 20:59:52
【问题描述】:
我正在阅读这篇关于 fib 解决方案的文章(非常有帮助):https://medium.com/@johanna.fulghum/write-the-fibonacci-sequence-in-every-computational-complexity-9adf5ef12775
但是她上一次解决时间和空间的复杂性有错别字吗?
function fib(n, a = 0, b = 1){
if (n > 0) {
return fib(n - 1, b, a + b)
}
return a
}
她说'这个尾递归解决方案是恒定的 O(n) 时间和恒定的 O(n) 空间复杂度。这不能被打败'。她的意思是O(1)对吗?因为 O(n) 是线性的。另外,我看到它是 O(1) 空间,但有人可以解释为什么它是 O(1) 时间吗?对我来说,这似乎是 O(n) 时间
【问题讨论】: