其他分享
首页 > 其他分享> > [MIT6.006] 11. Integer Arithmetic, Karatsuba Multiplication 整型算术,Karatsuba乘法

[MIT6.006] 11. Integer Arithmetic, Karatsuba Multiplication 整型算术,Karatsuba乘法

作者:互联网

很多人不喜欢√2的表达,他们认为它不是一个数。

 

一、卡塔兰数 Catalan numbers

在数方面上,有个著名的数叫卡塔兰数 Catalan numbers,它是组合数学中一个常在各种计数问题中出现的数列。其中它能解决一个叫求括号化方案数量的问题。如图下:

在卡塔兰数下,设P为平衡的父字符串集。

(1)λ属于P集合(λ是空字符串);

(2)如果α,β都属于P,则(α)β 也属于P。

如果现在有个空字符串(C0=1)和一对括号(C1=1),则C2=C0C1 + C1C0。归纳结果则为:Cn+1 = ∑CkCn-k (n≥0)。

 

关于卡塔兰树的一个有趣集合问题,如下图所示:

 

二、牛顿法 Newton's Method

牛顿法就是通过不断逼近某函数f(x)来求取f(x)=0的根解。例如下图中f(x) = x2 - a。

 

使用牛顿法求解过程中,数的实际精度符合二次收敛(Quadratic convergence)的特性,即梯度双倍增长,如下图:

 

 

 三、高精度乘法

现有两个大数,x,y。首先将x,y分别拆开成为两部分,可得x1,x0,y1,y0。他们的关系如下: 但这种方式的高精度乘法时间上不是最有效率的,最有效率的是下面的Karatsuba算法:  

标签:11,兰数,牛顿,MIT6.006,卡塔,字符串,Karatsuba,乘法
来源: https://www.cnblogs.com/alvinai/p/12701520.html