高级算法设计与分析 学习笔记14 FFT

本章我们研究多项式乘法。

我们直接乘,时间复杂度是n^2。使用FFT则可以变成nlgn

​编辑

可以看到两个n°的多项式,我们直接乘,每种组合都要试一遍,就会要是n^2遍

​编辑

那么要怎么加速呢?

​编辑

首先多项式可以通过这种方法来表示

记录下n个点,想要原版形式的话就解矩阵方程吧。

​编辑

​编辑

​编辑

不过这种表示法太奇怪了,能不能来经典形式的?

​编辑

这里解释一下单位根:

单位根是复数分析中的一个概念,它是指满足以下等式的复数 ωω:

ω^n=1

这里的 n 是一个正整数,表示单位根的阶数。换句话说,单位根是一个复数,当它被提升到 n 次幂时,结果为1。单位根在复平面上的单位圆上均匀分布。

分治法!

Fn矩阵计算起来很简单:

相关推荐
q***448119 分钟前
java进阶--多线程学习
java·开发语言·学习
断剑zou天涯5 小时前
【算法笔记】窗口内最大值或最小值的更新结构
java·笔记·算法
Naiva7 小时前
【小技巧】Microchip 把 MPLAB X IDE工程编码改成 UTF-8
笔记
ndjnddjxn9 小时前
Rust学习
开发语言·学习·rust
菜鸟‍10 小时前
【后端学习】MySQL数据库
数据库·后端·学习·mysql
陈天伟教授10 小时前
基于学习的人工智能(1)机器学习
人工智能·学习
im_AMBER10 小时前
Leetcode 59 二分搜索
数据结构·笔记·学习·算法·leetcode
专注于大数据技术栈10 小时前
java学习--final
java·开发语言·学习
田里的水稻10 小时前
AI_常见“XX学习”术语速查表
人工智能·学习
Nan_Shu_61411 小时前
学习:Sass
javascript·学习·es6