关于初赛中递归斐波那契数列的复杂度
  • 板块学术版
  • 楼主jifbtDinshey
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/9/16 13:57
  • 上次更新2023/10/27 11:27:39
查看原帖
关于初赛中递归斐波那契数列的复杂度
103171
jifbtDinshey楼主2022/9/16 13:57

csp2021提高初赛的第 12 题是递归求斐波那契数列的复杂度。只能选非多项式的 O(2n)O(2^n)

然而,如果关注该函数的总调用次数 g(x)g(x),在调用 g(x)g(x) 时调用 g(x1)g(x-1)g(x2)g(x-2) 各一次,因此 g(x)=g(x1)+g(x+2)+1g(x)=g(x-1)+g(x+2)+1,其中 g(1)=g(2)=1g(1)=g(2)=1。该数列形如 1,1,3,5,9,151,1,3,5,9,15,为A001595,等于 2Fn+112F_{n+1}-1,所以复杂度应该为 O(2Fn+11)=O(Fn+1)=O((5+12)n)O(2F_{n+1}-1)=O(F_{n+1})=O((\frac{\sqrt5+1}2)^n),与 O(2n)O(2^n) 不同阶。

是我的做法出错了,还是题目出错了?

PS: 我一会儿还要上课,可能无法及时回复,请见谅。

2022/9/16 13:57
加载中...