Algorithm-2:Divide-and-Conquer

算法与复杂性相关笔记。 分治

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),它可以在 的时间内将系数转换为值,其中点 是复数的 (n) 次单位根:

即:

快速傅里叶变换(FFT)将任意 (n)-维向量(即系数表示)乘以 (n \times n) 矩阵:

矩阵的第 (j, k) 元素(从零开始计数)为

逆公式:

快速傅里叶变换详解