矩阵快速幂求解斐波那契系列问题

矩阵快速幂求解斐波那契问题

问题

​ 求解斐波那契数列第 N ​ N​ N

分析

​ 对于求第 N N N项的值,可通过矩阵快速幂将时间复杂度降至 O ( l o g N ) O(logN) O(logN)。递归式 F ( N ) = F ( N − 1 ) + F ( N − 2 ) F(N)=F(N-1)+F(N-2) F(N)=F(N1)+F(N2),是一个二阶的递推数列,可用矩阵乘法表示,且状态矩阵为 2 × 2 2\times 2 2×2的矩阵:
( F ( n ) , F ( n − 1 ) ) = ( F ( n − 1 ) , F ( n − 2 ) ) ×   ∣ a b c d ∣ (F(n), F(n-1)) = (F(n-1),F(n-2)) \times \ \left| \begin{array}{cc} a & b\\ c & d\\ \end{array} \right| (F(n),F(n1))=(F(n1),F(n2))× acbd
把前4项代入, F ( 1 ) = = 1 , F ( 2 ) = = 1 , F ( 3 ) = = 2 , F ( 4 ) = = 3 F(1) == 1, F(2) == 1, F(3) == 2, F(4) == 3 F(1)==1,F(2)==1,F(3)==2,F(4)==3,可求出状态转移矩阵:
∣ a b c d ∣ = ∣ 1 1 1 0 ∣ \left| \begin{array}{cc} a &amp; b\\ c &amp; d\\ \end{array} \right| = \left| \begin{array}{cc} 1 &amp; 1 \\ 1 &amp; 0 \\ \end{array} \right| <

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值