您好, 我昨天发现了一个归纳证据,证明了递归Fibonacci程序的时间复杂性。证明首先声称复杂性是指数级的(后来继续通过归纳证明它)说:
存在“r”,使得f(n)> = r ^ n表示所有r> = 1且n> = 1。
然后它选择r等于1 + sqrt(5)/ 2,使其满足等式r ^ 2 = r + 1.
(后来证明它是r的选择)。
然后它说现在语句变成f(n)> = r ^(n-2)。
我不明白这一部分是如何从r ^ n变成r ^(n-2)的。有人请帮助我。
答案 0 :(得分:3)
正如丹尼尔所说,r
大于1,因此r^n
大于r^(n-1)
,大于r^(n-2)
等......
所以你确实:f(n) >= r^n >= r^(n-1) >= r^(n-2)
答案 1 :(得分:2)
f(n) >= r^n
r * r * f(n) >= r^n
(自r > 1
)f(n) >= r^(n-2)
我不知道这与时间复杂性有何关系,但是?这听起来更像是一个导致Binet公式的讨论。