SCIP:我在理解斐波那奇算法的时间复杂度时遇到困难

问题描述 投票:0回答:1

我正在阅读SICP。这是我对计算机科学的第一次介绍。

本书在下面介绍了斐波那契算法:

(define (fib n)
(cond ((= n 0) 0)
      ((= n 1) 1)
(else (+ (fib (- n 1)) (fib (- n 2))))))

[书中提到该算法占用的空间为𝜃(n),花费的时间为𝜃(φ^ n)。我理解空间的复杂性,因为它是一棵树的最大深度,但是我似乎无法将时间复杂度的推论付诸实践。

algorithm math scheme
1个回答
0
投票

如果您记下每种情况需要花费多少时间(1为常数),

T(0) = 1
T(1) = 1
T(n) = T(n-1) + T(n-2)

您会看到它与斐波那契数完全相同。并且Fib(n)是𝜃(φn)。

© www.soinside.com 2019 - 2024. All rights reserved.