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

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

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

​编辑

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

​编辑

那么要怎么加速呢?

​编辑

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

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

​编辑

​编辑

​编辑

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

​编辑

这里解释一下单位根:

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

ω^n=1

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

分治法!

Fn矩阵计算起来很简单:

相关推荐
南宫生5 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__5 小时前
Web APIs学习 (操作DOM BOM)
学习
冷眼看人间恩怨6 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
数据的世界017 小时前
.NET开发人员学习书籍推荐
学习·.net
四口鲸鱼爱吃盐8 小时前
CVPR2024 | 通过集成渐近正态分布学习实现强可迁移对抗攻击
学习
OopspoO10 小时前
qcow2镜像大小压缩
学习·性能优化
A懿轩A10 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列
居居飒10 小时前
Android学习(四)-Kotlin编程语言-for循环
android·学习·kotlin
kkflash311 小时前
提升专业素养的实用指南
学习·职场和发展
Hejjon11 小时前
SpringBoot 整合 SQLite 数据库
笔记