引言

定义:

(多项式的)次数:一个多项式A(x)的最高次的非零系数是ak ,则称A(x)的次数为k,记作degree(A)=k

次数界:任何严格大于多项式次数的整数都是该多项式的次数界

30.1 多项式的表示

两种表示形式:

  1. 系数表示:就是我们一般常见的A(x)=Σakxk形式
  2. 点值表示:一个次数界为n的多项式A(x)的点值表达是由n个点值对组成的集合{(x0,y0), (x1,y1),…, (xn-1,yn-1)},使得对于k=0,1,2,..,n-1所有的xk均不相同,yk=A(xk)

插值:从一个多项式的点值表达确定其系数表达

拉格朗日公式:在O(N2)的时间内计算A的所有系数

DFT:傅里叶变换

定理30.1:(插值唯一定理)n个点对且所有xk都不相同的点值表达式,对应的次数界为n的系数表达式唯一。证明:利用范德蒙行列式

普通插值运算的时间复杂度为O(n2),此处我们使用了精心挑选的一些数据,使用单位复数根,可以在O(nlgn)的时间内完成插值和求值的运算。

30.2

定义:

单位复数根:满足wn=1的复数w,利用负指数的定义,这些根是e(2πi/n)×k。均匀的分布在以复平面空间为圆心的单位半径的圆周上。

主n次单位根:e(2πi/n),记作wn,其他的n次单位复数根都是wn的幂次。

引理:

消去引理:对于常数d>0,有(wdn)dk=(wn)k。证明:直接由定义得到

折半引理:对于任意偶数n>0有wnn/2=w2=-1。证明:消去引理

求和引理:对于任意整数n≥1和不能被n整除的非负整数k,有:Σj=0n-1(wnk)j=0。证明:用实数里面我们熟知的等比数列求和法,交换分子多项式w系数的内外阶数

DFT(离散傅里叶变化):

把n个单位复数根作为x向量带入多项式A(x)中求解y向量,其中y向量就是系数向量a的DFT,记作y=DFTn(a)

FFT(快速傅里叶变化):

利用复数单位根的特殊性质,在o(nlogn)的时间内计算出DFTn(a),此处假设n是2的整数次幂(其他情况也能有相同的时间复杂度,但具体操作此处不做要求)。

旋转因子:wkn

p

转载于:https://www.cnblogs.com/uangjianghui/p/7768499.html

算法导论笔记 第三十章 多项式与快速傅里叶变化相关推荐

  1. 算法复习笔记(三)分治法

    算法复习笔记(三)分治法 1.引入语 分治法划分对策: 子问题与原问题相比:问题性质一致,问题规模不同 求解一般分为三个阶段: 1.划分:直到问题足够小可以直接求解为止 2.求解: 3.合并:将子问题 ...

  2. 散列表(算法导论笔记)

    散列表 直接寻址表 一个数组T[0..m-1]中的每个位置分别对应全域U中的一个关键字,槽k指向集合中一个关键字为k的元素,如果该集合中没有关键字为k的元素,则T[k] = NIL 全域U={0,1, ...

  3. 算法导论笔记:17摊还分析

    在摊还分析中,通过求数据结构的一系列的操作的平均时间,来评价操作的代价.这样,即使这些操作中的某个单一操作的代价很高,也可以证明平均代价很低.摊还分析不涉及概率,它可以保证最坏情况下每个操作的平均性能 ...

  4. 算法学习笔记(三)-----各种基础排序问题

    2019独角兽企业重金招聘Python工程师标准>>> 一.直接插入排序:是最简单的排序方法,算法简单来说就是可以把第一个数a[0]看做有序数组,那么a[1]要插入进来,对比,插入合 ...

  5. 图解算法系列笔记(三)

    狄克斯特拉算法 广度优先搜索是找出最短的路径,而狄克斯特拉算法是找出最快的路径. 广度优先搜索来查找两点之间的最短路径,那时"最短路径"的意思是段数最少.在狄克斯特拉算法中,你给每 ...

  6. 算法导论笔记:32字符串匹配算法

    在编辑文本程序中,经常需要在文本中找到某个模式的所有出现位置.典型的情况是:在一个文本文件中,搜索用户输入的关键字.解决这种问题的算法叫做字符串匹配算法.字符串匹配算法的形式化定义如下:假设文本是长度 ...

  7. 算法导论笔记:12二叉搜索树

    1:概念 二叉搜索树也叫二叉排序树,它支持的操作有:SEARCH, MINIMUM, MAXIMUM, PREDECESSOR, SUCCESSOR, INSERT, DELETE.所以,一颗二叉搜索 ...

  8. EM算法学习笔记与三硬币模型推导

    最近接触了pLSA模型,由于该模型中引入了主题作为隐变量,所以需要使用期望最大化(Expectation Maximization)算法求解. 本文简述了以下内容: 为什么需要EM算法 EM算法的推导 ...

  9. 《算法导论》第三版第3章 函数的增长 练习思考题 个人答案

    注:由于本章主要是数学知识,要求一定的高等数学基础,且习题大多数为证明题(输入有一定困难..),因此本章答案主要以证明思路为主. 3.1 渐近记号 3.1-1 思路:首先仿照Θ记号的基本定义表出本题的 ...

  10. 左程云老师算法课笔记(三)

    前言 仅记录学习笔记,如有错误欢迎指正. 三.二叉树 二叉树的中序遍历(非递归): 有左子树 都是先把左子树push pop的时候 先左后头弹出 宽度优先遍历: 使用链表,push先左后右 判断是否b ...

最新文章

  1. 运行在浏览器中的深度学习框架,开源了
  2. SSM山东医院-1-登录(对象条件查询)-未加密版本
  3. MySQL 修改字段类型或长度
  4. 计算机恢复数据怎么恢复,电脑数据恢复,详细教您电脑数据如何恢复
  5. vux移动端UI组件库
  6. C4D学习笔记1-动画-动画关键帧
  7. matplotlib画图使用微软雅黑字体
  8. CCF CSP 201503-1 图像旋转
  9. 中层领导力:西点军校和哈佛大学共同讲授的领导力教程读书摘要
  10. 吉林大学软件学院黄庆道《最优化算法》对偶单纯形使用大M法条件
  11. 自动驾驶IDM与MOBIL模型
  12. 快捷下载中国原创音乐基地音乐(包括金豆和无法下载音乐)
  13. Python机器学习:认识机器学习
  14. 【笔记】SQL 6-2
  15. 【学习心得】Selenium3自动化测试实战——基于Python(虫师)
  16. 转:网络虚拟(包括overlay、underlay介绍)
  17. XMOS-麦克风阵列方案
  18. 软考系统架构设计师备考
  19. 螺旋阵python实现
  20. PCIe传输速率、吞吐量、PCLK计算方式

热门文章

  1. 《Thinking in Java》Ten 内部类
  2. Bzoj 4408: [Fjoi 2016]神秘数 可持久化线段树,神题
  3. 腾讯惹谁了?为什么用QQ邮箱投简历不受人待见
  4. 数据库新手常犯的5个错误
  5. ansible+packer+terraform在aws上布署web服务器
  6. 大龄屌丝自学笔记--Java零基础到菜鸟--006
  7. SEO思维的优化源于生活
  8. 不用js实现鼠标放上去改变文字内容
  9. 英文论文中“such as, for example, e.g., i.e., etc., et al. ”的用法分析 (转)
  10. 用正则验证用户输入文本框的内容是否是中文汉字