算法与复杂性相关笔记。 分治
Chapter 2. Divide-and-Conquer Algorithms
Recurrence relations
Master theorem:
for some constants (a>0) , (b>1) ,and (d ≥0) , then
d代表非递归部分(即每次递归调用之外的操作)的时间复杂度的指数。
Example: 整数乘法的分治算法
FFT
基本思想: 利用分治方法使得多项式相乘算法的复杂度降为O(n logn)
具体实现:借用多项式的点值表示法(n+1个点确定一个n维多项式)的乘法可以在O(n)内完成,将多项式相乘转为点值表示法相乘再转回原系数表示
fft数学公式:
我们设计了快速傅里叶变换(FFT),它可以在
即:
快速傅里叶变换(FFT)将任意 (n)-维向量(即系数表示)乘以 (n \times n) 矩阵:
矩阵的第 (j, k) 元素(从零开始计数)为
逆公式: