斐波那契数列的量化分析

1. 递归版的调用次数

cnt = 0
def fib(n):
    cnt += 1
    return n if n <= 1 else fib(n-1) + fib(n-2)

递归版的实现,共会调用多少次,比如求 fib(8):

  • f(2) ⇒ 1+f(1)+f(0) ⇒ 3
  • f(3) ⇒ 1 + f(2) + f(1) ⇒ 1+3+1 ⇒ 5
  • f(4) ⇒ 1 + f(3) + f(2) ⇒ 1+5+3 ⇒ 9
  • f(5) ⇒ 1 + f(4) + f(3) ⇒ 1+9+5 ⇒ 15(规律似乎已经出来了,1+前两项之和)

3,5,9,15,25,41,67

原文地址:https://www.cnblogs.com/mtcnn/p/9423610.html