【发布时间】:2011-11-24 17:13:06
【问题描述】:
我正在尝试使用递归树来查找斐波那契数列的复杂性,并得出结论height of tree = O(n)最坏情况cost of each level = cn,因此complexity = n*n=n^2
怎么会是O(2^n)?
【问题讨论】:
-
它是 theta (F_N) (所以 O(2^N)),即使你认为将两个 n 位数字相加为 N 中的多项式的复杂性,我相信。
-
作为后续问题,如果我们将每个 $F_k$ 一直存储到 $F_n$,时间复杂度是否等于 $n^2$?因为在这种情况下,我们只执行了总共 $n$ 次加法,其中 $F_k$ 的长度是 $O(k)$。
标签: algorithm recursion big-o fibonacci