星星之火OIer:斐波那契数列(二)——O(logn)算法(矩阵加速)

本文介绍了如何利用矩阵加速将斐波那契数列的计算时间复杂度降至O(logn)。通过阐述矩阵的基本概念、矩阵乘法以及快速幂运算,详细解释了如何将这两个数学工具结合,实现高效的斐波那契数列求解。文中还提供了矩阵乘法和快速幂的代码示例,并预告了后续关于该主题的深入讨论。
摘要由CSDN通过智能技术生成

上一讲中,我们已经了解了关于斐波那契数列的O(n)算法

但是我们在上一讲留了一个问题

当n几近于INT_MAX

又该怎么处理呢

那就要引入我们今天讲的::

矩阵加速

这个神奇的玩意可以将时间复杂度降至O(logn)

是不是很神奇!?

下面开始我们的正题

首先,让我们来了解了解矩阵::

A=\begin{bmatrix} a_1_1 & a_1_2 & \cdots & a_1_n\\ a_2_1 & a_2_2 & \cdots & a_2_n\\ \cdots & \cdots & \cdots & \cdots\\ a_m_1 & a_m_2 & \cdots & a_m_n \end{bmatrix}

这个A就是一个m*n的矩阵

说直白点

m*n的矩阵就指的是一个长方形的东西里面有mn列的,有m*n这么多个数

然后呢,矩阵有一些基本的运算

这些基本运算在作者的另一篇博客里有详细的讲解

这里主要提一下矩阵的乘法::

矩阵乘法有一个要求

两个矩阵必须一个为n*m,一个为m*p

即这第一个矩阵的列必须和第二个矩阵的行数相同

就像是这样::

A=\begin{bmatrix} 3 & 5 & -2 \\ 0 & -4 & 7 \end{bmatrix},B=\begin{bmatrix} 3 & 5 & -1 & 0 \\ 0 & -2 & -5 & 2 \\ -1 & 0 & 3 & -4 \end{bmatrix}

然后乘出来应该是一个

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值